diff --git a/code/TriDimension/Movement.dm b/code/TriDimension/Movement.dm
deleted file mode 100644
index dfb529df5b1..00000000000
--- a/code/TriDimension/Movement.dm
+++ /dev/null
@@ -1,49 +0,0 @@
-var/maxZ = 6
-var/minZ = 2
-
-// Maybe it's best to have this hardcoded for whatever we'd add to the map, in order to avoid exploits
-// (such as mining base => admin station)
-// Note that this assumes the ship's top is at z=1 and bottom at z=4
-/obj/item/weapon/tank/jetpack/proc/move_z(cardinal, mob/user as mob)
- if (user.z > 1)
- user << "\red There is nothing of interest in that direction."
- return
- if(allow_thrust(0.01, user))
- switch(cardinal)
- if (UP) // Going up!
- if(user.z > maxZ) // If we aren't at the very top of the ship
- var/turf/T = locate(user.x, user.y, user.z - 1)
- // You can only jetpack up if there's space above, and you're sitting on either hull (on the exterior), or space
- //if(T && istype(T, /turf/space) && (istype(user.loc, /turf/space) || istype(user.loc, /turf/space/*/hull*/)))
- //check through turf contents to make sure there's nothing blocking the way
- if(T && istype(T, /turf/space))
- var/blocked = 0
- for(var/atom/A in T.contents)
- if(T.density)
- blocked = 1
- user << "\red You bump into [T.name]."
- break
- if(!blocked)
- user.Move(T)
- else
- user << "\red You bump into the ship's plating."
- else
- user << "\red The ship's gravity well keeps you in orbit!" // Assuming the ship starts on z level 1, you don't want to go past it
-
- if (DOWN) // Going down!
- if (user.z < 1) // If we aren't at the very bottom of the ship, or out in space
- var/turf/T = locate(user.x, user.y, user.z + 1)
- // You can only jetpack down if you're sitting on space and there's space down below, or hull
- if(T && (istype(T, /turf/space) || istype(T, /turf/space/*/hull*/)) && istype(user.loc, /turf/space))
- var/blocked = 0
- for(var/atom/A in T.contents)
- if(T.density)
- blocked = 1
- user << "\red You bump into [T.name]."
- break
- if(!blocked)
- user.Move(T)
- else
- user << "\red You bump into the ship's plating."
- else
- user << "\red The ship's gravity well keeps you in orbit!"
\ No newline at end of file
diff --git a/code/TriDimension/Pipes.dm b/code/TriDimension/Pipes.dm
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/code/TriDimension/Structures.dm b/code/TriDimension/Structures.dm
deleted file mode 100644
index 85e499f7ad4..00000000000
--- a/code/TriDimension/Structures.dm
+++ /dev/null
@@ -1,205 +0,0 @@
-///////////////////////////////////////
-//Contents: Ladders, Hatches, Stairs.//
-///////////////////////////////////////
-
-/obj/multiz
- icon = 'code/TriDimension/multiz.dmi'
- density = 0
- opacity = 0
- anchored = 1
- var/obj/multiz/target
-
- CanPass(obj/mover, turf/source, height, airflow)
- return airflow || !density
-
-/obj/multiz/ladder
- icon_state = "ladderdown"
- name = "ladder"
- desc = "A Ladder. You climb up and down it."
-
- var/top_icon_state = "ladderdown"
- var/bottom_icon_state = "ladderup"
-
- New()
- . = ..()
- spawn(1) //Allow map to load
- if(z in levels_3d)
- if(!target)
- var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
- if("up" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["up"])
- if(istype(target))
- icon_state = bottom_icon_state
- else if("down" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["down"])
- if(istype(target))
- icon_state = top_icon_state
- else
- del src
- else
- del src
- else if("down" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["down"])
- if(istype(target))
- icon_state = bottom_icon_state
- else
- del src
- else
- del src
- if(target)
- target.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state)
- target.target = src
- else
- del src
-
- Del()
- spawn(1)
- if(target)
- del target
- return ..()
-
- attack_paw(var/mob/M)
- return attack_hand(M)
-
- attackby(var/W, var/mob/M)
- return attack_hand(M)
-
- attack_hand(var/mob/M)
- if(!target || !istype(target.loc, /turf))
- del src
- var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
- M.visible_message("\blue \The [M] climbs [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You climb [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.")
- M.Move(target.loc)
-
-
- hatch
- icon_state = "hatchdown"
- name = "hatch"
- desc = "A hatch. You climb down it, and it will automatically seal against pressure loss behind you."
- top_icon_state = "hatchdown"
- var/top_icon_state_open = "hatchdown-open"
- var/top_icon_state_close = "hatchdown-close"
-
- bottom_icon_state = "ladderup"
-
- var/image/green_overlay
- var/image/red_overlay
-
- var/active = 0
-
- New()
- . = ..()
- red_overlay = image(icon, "red-ladderlight")
- green_overlay = image(icon, "green-ladderlight")
-
- attack_hand(var/mob/M)
-
- if(!target || !istype(target.loc, /turf))
- del src
-
- if(active)
- M << "That [src] is being used."
- return // It is a tiny airlock, only one at a time.
-
- active = 1
- var/obj/multiz/ladder/hatch/top_hatch = target
- var/obj/multiz/ladder/hatch/bottom_hatch = src
- if(icon_state == top_icon_state)
- top_hatch = src
- bottom_hatch = target
-
- flick(top_icon_state_open, top_hatch)
- bottom_hatch.overlays += green_overlay
-
- spawn(7)
- if(!target || !istype(target.loc, /turf))
- del src
- if(M.z == z && get_dist(src,M) <= 1)
- var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
- M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
- M.Move(target.loc)
- flick(top_icon_state_close,top_hatch)
- bottom_hatch.overlays -= green_overlay
- bottom_hatch.overlays += red_overlay
-
- spawn(7)
- top_hatch.icon_state = top_icon_state
- bottom_hatch.overlays -= red_overlay
- active = 0
-
-/obj/multiz/stairs
- name = "Stairs"
- desc = "Stairs. You walk up and down them."
- icon_state = "ramptop"
- var/top_icon_state = "ramptop"
- var/bottom_icon_state = "rampbottom"
-
- active
- density = 1
-
-
- New()
- . = ..()
- spawn(1)
- if(z in levels_3d)
- if(!target)
- var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
- if("up" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["up"])
- if(istype(target))
- icon_state = bottom_icon_state
- else if("down" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["down"])
- if(istype(target))
- icon_state = top_icon_state
- else
- del src
- else
- del src
- else if("down" in adjacent_to_me)
- target = locate() in locate(x,y,adjacent_to_me["down"])
- if(istype(target))
- icon_state = bottom_icon_state
- else
- del src
- else
- del src
- if(target)
- target.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state)
- target.target = src
- var/obj/multiz/stairs/lead_in = locate() in get_step(src, reverse_direction(dir))
- if(lead_in)
- lead_in.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state)
- else
- del src
-
-
- Del()
- spawn(1)
- if(target)
- del target
- return ..()
-
-
- Bumped(var/atom/movable/M)
- if(target.z > z && istype(src, /obj/multiz/stairs/active) && !locate(/obj/multiz/stairs) in M.loc)
- return //If on bottom, only let them go up stairs if they've moved to the entry tile first.
- //If it's the top, they can fall down just fine.
-
- if(!target || !istype(target.loc, /turf))
- del src
-
- if(ismob(M) && M:client)
- M:client.moving = 1
- M.Move(target.loc)
- if (ismob(M) && M:client)
- M:client.moving = 0
-
- Click()
- if(!istype(usr,/mob/dead/observer))
- return ..()
- if(!target || !istype(target.loc, /turf))
- del src
- usr.client.moving = 1
- usr.Move(target.loc)
- usr.client.moving = 0
\ No newline at end of file
diff --git a/code/TriDimension/Turfs.dm b/code/TriDimension/Turfs.dm
deleted file mode 100644
index 1e49e4dc80e..00000000000
--- a/code/TriDimension/Turfs.dm
+++ /dev/null
@@ -1,96 +0,0 @@
-atom/movable/var/list/adjacent_z_levels
-atom/movable/var/archived_z_level
-
-atom/movable/Move() //Hackish
-
- if(adjacent_z_levels && adjacent_z_levels["up"])
- var/turf/above_me = locate(x,y,adjacent_z_levels["up"])
- if(istype(above_me, /turf/simulated/floor/open))
- above_me:RemoveImage(src)
-
- . = ..()
-
- if(archived_z_level != z)
- archived_z_level = z
- if(z in levels_3d)
- adjacent_z_levels = global_adjacent_z_levels["[z]"]
- else
- adjacent_z_levels = null
-
- if(adjacent_z_levels && adjacent_z_levels["up"])
- var/turf/above_me = locate(x,y,adjacent_z_levels["up"])
- if(istype(above_me, /turf/simulated/floor/open))
- above_me:AddImage(src)
-
-/turf/simulated/floor/open
- name = "open space"
- intact = 0
- density = 0
- icon_state = "black"
- pathweight = 100000 //Seriously, don't try and path over this one numbnuts
- var/icon/darkoverlays = null
- var/turf/floorbelow
- var/list/overlay_references
- mouse_opacity = 2
-
- New()
- ..()
- spawn(1)
- if(!(z in levels_3d))
- ReplaceWithSpace()
- var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
- if(!("down" in adjacent_to_me))
- ReplaceWithSpace()
-
- floorbelow = locate(x, y, adjacent_to_me["down"])
- if(floorbelow)
- if(!istype(floorbelow,/turf))
- del src
- else if(floorbelow.density)
- ReplaceWithPlating()
- else
- set_up()
- else
- ReplaceWithSpace()
-
-
- Enter(var/atom/movable/AM)
- if (..()) //TODO make this check if gravity is active (future use) - Sukasa
- spawn(1)
- if(AM)
- AM.Move(floorbelow)
- if (istype(AM, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = AM
- var/damage = rand(5,15)
- H.apply_damage(2*damage, BRUTE, "head")
- H.apply_damage(2*damage, BRUTE, "chest")
- H.apply_damage(0.5*damage, BRUTE, "l_leg")
- H.apply_damage(0.5*damage, BRUTE, "r_leg")
- H.apply_damage(0.5*damage, BRUTE, "l_arm")
- H.apply_damage(0.5*damage, BRUTE, "r_arm")
- H:weakened = max(H:weakened,2)
- H:updatehealth()
- return ..()
-
- attackby()
- return //nothing
-
- proc/set_up() //Update the overlays to make the openspace turf show what's down a level
- if(!overlay_references)
- overlay_references = list()
- if(!floorbelow) return
- overlays += floorbelow
- for(var/obj/o in floorbelow)
- var/image/o_img = image(o, dir=o.dir, layer = TURF_LAYER+0.05*o.layer)
- overlays += o_img
- overlay_references[o] = o_img
-
- proc/AddImage(var/atom/movable/o)
- var/o_img = image(o, dir=o.dir, layer = TURF_LAYER+0.05*o.layer)
- overlays += o_img
- overlay_references[o] = o_img
-
- proc/RemoveImage(var/atom/movable/o)
- var/o_img = overlay_references[o]
- overlays -= o_img
- overlay_references -= o
\ No newline at end of file
diff --git a/code/TriDimension/multiz.dmi b/code/TriDimension/multiz.dmi
deleted file mode 100644
index 13b118ce9f2..00000000000
Binary files a/code/TriDimension/multiz.dmi and /dev/null differ
diff --git a/code/TriDimension/multiz_pipe.dmi b/code/TriDimension/multiz_pipe.dmi
deleted file mode 100644
index a3bbbee0b28..00000000000
Binary files a/code/TriDimension/multiz_pipe.dmi and /dev/null differ
diff --git a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm b/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm
deleted file mode 100644
index 9b50c74f686..00000000000
--- a/code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm
+++ /dev/null
@@ -1,573 +0,0 @@
-//All credit for this goes to Uristqwerty.
-
-//And some to me! -Mini
-
-
-
-//This file is partly designed around being able to uninclude it to go back to the old ai viewing system completely.
-//(And therefore also be portable to another similar codebase simply by transferring the file and including it after the other AI code files.)
-//There are probably a few parts that don't do that at the moment, but I'll fix them at some point.
-
-
-#define MINIMAP_UPDATE_DELAY 1200
-
-/turf
- var/image/obscured
- var/image/dim
-
-/turf/proc/visibilityChanged()
- cameranet.updateVisibility(src)
-
-/turf/New()
- ..()
- cameranet.updateVisibility(src)
-/*
-/turf/Del()
- ..()
- cameranet.updateVisibility(src)
-*/
-/datum/camerachunk
- var/list/obscuredTurfs = list()
- var/list/visibleTurfs = list()
- var/list/dimTurfs = list()
- var/list/obscured = list()
- var/list/dim = list()
- var/list/cameras = list()
- var/list/turfs = list()
- var/list/seenby = list()
- var/visible = 0
- var/changed = 1
- var/updating = 0
-
- var/x
- var/y
- var/z
-
- var/minimap_updating = 0
-
- var/icon/minimap_icon = new('icons/minimap.dmi', "chunk_base")
- var/obj/minimap_obj/minimap_obj = new()
-
-/obj/minimap_obj/Click(location, control, params)
- if(!istype(usr, /mob/dead) && !istype(usr, /mob/living/silicon/ai) && !(usr.client && usr.client.holder && usr.client.holder.level >= 4))
- return
-
- var/list/par = params2list(params)
- var/screen_loc = par["screen-loc"]
-
- if(findtext(screen_loc, "minimap:") != 1)
- return
-
- screen_loc = copytext(screen_loc, length("minimap:") + 1)
-
- var/x_text = copytext(screen_loc, 1, findtext(screen_loc, ","))
- var/y_text = copytext(screen_loc, findtext(screen_loc, ",") + 1)
-
- var/x = (text2num(copytext(x_text, 1, findtext(x_text, ":"))) - 1) * 16
- x += round((text2num(copytext(x_text, findtext(x_text, ":") + 1)) + 1) / 2)
-
- var/y = (text2num(copytext(y_text, 1, findtext(y_text, ":"))) - 1) * 16
- y += round((text2num(copytext(y_text, findtext(y_text, ":") + 1)) + 1) / 2)
-
- if(istype(usr, /mob/living/silicon/ai))
- var/mob/living/silicon/ai/ai = usr
- ai.freelook()
- ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), ai.eyeobj.z)
- cameranet.visibility(ai.eyeobj)
-
- else
- usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.z)
-
-/mob/dead/verb/Open_Minimap()
- set category = "Ghost"
- winshow(src, "minimapwindow", 1)
- client.screen |= cameranet.minimap
-
- if(cameranet.generating_minimap)
- cameranet.minimap_viewers += src
-
-/mob/living/silicon/ai/verb/Open_Minimap()
- set category = "AI Commands"
- winshow(src, "minimapwindow", 1)
- client.screen |= cameranet.minimap
-
- if(cameranet.generating_minimap)
- cameranet.minimap_viewers += src
-
-/client/proc/Open_Minimap()
- set category = "Admin"
- winshow(src, "minimapwindow", 1)
- screen |= cameranet.minimap
-
- if(cameranet.generating_minimap)
- cameranet.minimap_viewers += src.mob
-
-/datum/camerachunk/proc/update_minimap()
- if(changed && !updating)
- update()
-
- minimap_icon.Blend(rgb(255, 0, 0), ICON_MULTIPLY)
-
- var/list/turfs = visibleTurfs | dimTurfs
-
- for(var/turf/turf in turfs)
- var/x = (turf.x & 0xf) * 2
- var/y = (turf.y & 0xf) * 2
-
- if(turf.density)
- minimap_icon.DrawBox(rgb(100, 100, 100), x + 1, y + 1, x + 2, y + 2)
- continue
-
- else if(istype(turf, /turf/space))
- minimap_icon.DrawBox(rgb(0, 0, 0), x + 1, y + 1, x + 2, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(200, 200, 200), x + 1, y + 1, x + 2, y + 2)
-
- for(var/obj/structure/o in turf)
- if(o.density)
- if(istype(o, /obj/structure/window) && (o.dir == NORTH || o.dir == SOUTH || o.dir == EAST || o.dir == WEST))
- if(o.dir == NORTH)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 2, x + 2, y + 2)
- else if(o.dir == SOUTH)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 2, y + 1)
- else if(o.dir == EAST)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 3, y + 1, x + 2, y + 2)
- else if(o.dir == WEST)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 1, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(150, 150, 150), x + 1, y + 1, x + 2, y + 2)
- break
-
- for(var/obj/machinery/door/o in turf)
- if(istype(o, /obj/machinery/door/window))
- if(o.dir == NORTH)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 2, x + 2, y + 2)
- else if(o.dir == SOUTH)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 1)
- else if(o.dir == EAST)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 2, y + 1, x + 2, y + 2)
- else if(o.dir == WEST)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 1, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 2)
- break
-
- minimap_obj.screen_loc = "minimap:[src.x / 16],[src.y / 16]"
- minimap_obj.icon = minimap_icon
-
-/mob/aiEye
- var/list/visibleCameraChunks = list()
- var/mob/ai = null
- density = 0
-
-/datum/camerachunk/proc/add(mob/aiEye/ai)
- ai.visibleCameraChunks += src
- if(ai.ai.client)
- ai.ai.client.images += obscured
- ai.ai.client.images += dim
- visible++
- seenby += ai
- if(changed && !updating)
- update()
- changed = 0
-
-/datum/camerachunk/proc/remove(mob/aiEye/ai)
- ai.visibleCameraChunks -= src
- if(ai.ai.client)
- ai.ai.client.images -= obscured
- ai.ai.client.images -= dim
- seenby -= ai
- if(visible > 0)
- visible--
-
-/datum/camerachunk/proc/visibilityChanged(turf/loc)
- if(!(loc in visibleTurfs))
- return
-
- hasChanged()
-
-/datum/camerachunk/proc/hasChanged()
- if(visible)
- if(!updating)
- updating = 1
- spawn(10)//Batch large changes, such as many doors opening or closing at once
- update()
- updating = 0
- else
- changed = 1
-
- if(!minimap_updating)
- minimap_updating = 1
-
- spawn(MINIMAP_UPDATE_DELAY)
- if(changed && !updating)
- update()
- changed = 0
-
- update_minimap()
- minimap_updating = 0
-
-/datum/camerachunk/proc/update()
-
- var/list/newDimTurfs = list()
- var/list/newVisibleTurfs = list()
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 7
-
- newDimTurfs |= turfs & view(7, c)
- newVisibleTurfs |= turfs & view(6, c)
-
- c.luminosity = lum
-
- var/list/dimAdded = newDimTurfs - dimTurfs
- var/list/dimRemoved = dimTurfs - newDimTurfs
- var/list/visAdded = newVisibleTurfs - visibleTurfs
- var/list/visRemoved = visibleTurfs - newVisibleTurfs
-
- visibleTurfs = newVisibleTurfs
- dimTurfs = newDimTurfs
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- for(var/turf/t in dimRemoved)
- if(t.dim)
- dim -= t.dim
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.dim
-
- if(!(t in visibleTurfs))
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.obscured
-
- for(var/turf/t in dimAdded)
- if(!(t in visibleTurfs))
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15)
- t.mouse_opacity = 0
-
- dim += t.dim
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.dim
-
- if(t.obscured)
- obscured -= t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.obscured
-
- for(var/turf/t in visAdded)
- if(t.obscured)
- obscured -= t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.obscured
-
- for(var/turf/t in visRemoved)
- if(t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.obscured
-
-
-/datum/camerachunk/New(loc, x, y, z)
- x &= ~0xf
- y &= ~0xf
-
- src.x = x
- src.y = y
- src.z = z
-
- for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z)))
- if(c.status)
- cameras += c
-
- turfs = block(locate(x, y, z), locate(min(world.maxx, x + 15), min(world.maxy, y + 15), z))
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 7
-
- dimTurfs |= turfs & view(7, c)
- visibleTurfs |= turfs & view(6, c)
-
- c.luminosity = lum
-
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- for(var/turf/t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
-
- for(var/turf/t in dimTurfs)
- if(!(t in visibleTurfs))
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER)
- t.dim.mouse_opacity = 0
-
- dim += t.dim
-
- cameranet.minimap += minimap_obj
-
-var/datum/cameranet/cameranet = new()
-
-/datum/cameranet
- var/list/cameras = list()
- var/list/chunks = list()
- var/network = "net1"
- var/ready = 0
-
- var/list/minimap = list()
-
- var/generating_minimap = TRUE
- var/list/minimap_viewers = list()
-
-/datum/cameranet/New()
- ..()
-
- spawn(200)
- for(var/x = 0, x <= world.maxx, x += 16)
- for(var/y = 0, y <= world.maxy, y += 16)
- sleep(1)
- var/datum/camerachunk/c = getCameraChunk(x, y, 1)
- c.update_minimap()
-
- for(var/mob/m in minimap_viewers)
- m.client.screen |= c.minimap_obj
-
- generating_minimap = FALSE
- minimap_viewers = list()
-
-/datum/cameranet/proc/chunkGenerated(x, y, z)
- var/key = "[x],[y],[z]"
- return key in chunks
-
-/datum/cameranet/proc/getCameraChunk(x, y, z)
- var/key = "[x],[y],[z]"
-
- if(!(key in chunks))
- chunks[key] = new /datum/camerachunk(null, x, y, z)
-
- return chunks[key]
-
-/datum/cameranet/proc/visibility(mob/aiEye/ai)
- var/x1 = max(0, ai.x - 16) & ~0xf
- var/y1 = max(0, ai.y - 16) & ~0xf
- var/x2 = min(world.maxx, ai.x + 16) & ~0xf
- var/y2 = min(world.maxy, ai.y + 16) & ~0xf
-
- var/list/visibleChunks = list()
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- visibleChunks += getCameraChunk(x, y, ai.z)
-
- var/list/remove = ai.visibleCameraChunks - visibleChunks
- var/list/add = visibleChunks - ai.visibleCameraChunks
-
- for(var/datum/camerachunk/c in remove)
- c.remove(ai)
-
- for(var/datum/camerachunk/c in add)
- c.add(ai)
-
-/datum/cameranet/proc/updateVisibility(turf/loc)
- if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z))
- return
-
- var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z)
- chunk.visibilityChanged(loc)
-
-/datum/cameranet/proc/addCamera(obj/machinery/camera/c)
- var/x1 = max(0, c.x - 16) & ~0xf
- var/y1 = max(0, c.y - 16) & ~0xf
- var/x2 = min(world.maxx, c.x + 16) & ~0xf
- var/y2 = min(world.maxy, c.y + 16) & ~0xf
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- if(chunkGenerated(x, y, c.z))
- var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z)
- if(!(c in chunk.cameras))
- chunk.cameras += c
- chunk.hasChanged()
-
-/datum/cameranet/proc/removeCamera(obj/machinery/camera/c)
- var/x1 = max(0, c.x - 16) & ~0xf
- var/y1 = max(0, c.y - 16) & ~0xf
- var/x2 = min(world.maxx, c.x + 16) & ~0xf
- var/y2 = min(world.maxy, c.y + 16) & ~0xf
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- if(chunkGenerated(x, y, c.z))
- var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z)
- if(!c)
- chunk.hasChanged()
- if(c in chunk.cameras)
- chunk.cameras -= c
- chunk.hasChanged()
-
-/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new()
-
-/mob/living/silicon/ai/New()
- ..()
- eyeobj.ai = src
- spawn(20)
- freelook()
-
-/mob/living/silicon/ai/death(gibbed)
- if(client && client.eye == eyeobj)
- for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks)
- c.remove(eyeobj)
- client.eye = src
- return ..(gibbed)
-
-/mob/living/silicon/ai/verb/freelook()
- set category = "AI Commands"
- set name = "freelook"
- current = null //cancel camera view first, it causes problems
- cameraFollow = null
-// machine = null
- if(!eyeobj) //if it got deleted somehow (like an admin trying to fix things <.<')
- eyeobj = new()
- eyeobj.ai = src
- client.eye = eyeobj
- eyeobj.loc = loc
- cameranet.visibility(eyeobj)
- cameraFollow = null
-
-/mob/aiEye/Move()
- . = ..()
- if(.)
- cameranet.visibility(src)
-
-/client/AIMove(n, direct, var/mob/living/silicon/ai/user)
- if(eye == user.eyeobj)
- user.eyeobj.loc = get_step(user.eyeobj, direct)
- cameranet.visibility(user.eyeobj)
-
- else
- return ..()
-
-/*
-/client/AIMoveZ(direct, var/mob/living/silicon/ai/user)
- if(eye == user.eyeobj)
- var/dif = 0
- if(direct == UP && user.eyeobj.z > 1)
- dif = -1
- else if(direct == DOWN && user.eyeobj.z < 4)
- dif = 1
- user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif)
- cameranet.visibility(user.eyeobj)
- else
- return ..()
-*/
-
-/turf/move_camera_by_click()
- if(istype(usr, /mob/living/silicon/ai))
- var/mob/living/silicon/ai/AI = usr
- if(AI.client.eye == AI.eyeobj)
- return
- return ..()
-
-
-/obj/machinery/door/update_nearby_tiles(need_rebuild)
- . = ..(need_rebuild)
- cameranet.updateVisibility(loc)
-
-/obj/machinery/camera/New()
- ..()
- cameranet.addCamera(src)
-
-/obj/machinery/camera/Del()
- cameranet.removeCamera(src)
- ..()
-
-/obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
- . = ..(W, user)
- if(istype(W, /obj/item/weapon/wirecutters))
- if(status)
- cameranet.addCamera(src)
- else
- cameranet.removeCamera(src)
-
-/proc/checkcameravis(atom/A)
- for(var/obj/machinery/camera/C in view(A,7))
- if(!C.status || C.stat == 2)
- continue
- return 1
- return 0
-
-/mob/living/silicon/ai/attack_ai(var/mob/user as mob)
- if (user != src)
- return
-
- if (stat == 2)
- return
-
- var/list/L = list()
- for (var/obj/machinery/camera/C in world)
- L.Add(C)
-
- camera_sort(L)
- L = camera_network_sort(L)
-
- var/list/D = list()
- for (var/obj/machinery/camera/C in L)
- if ( C.network in src.networks )
- D[text("[]: [][]", C.network, C.c_tag, (C.status ? null : " (Deactivated)"))] = C
- D["Cancel"] = "Cancel"
-
- var/t = input(user, "Which camera should you change to?") as null|anything in D
-
- if (!t || t == "Cancel")
- return 0
-
- var/obj/machinery/camera/C = D[t]
-
- eyeobj.loc = C.loc
- cameranet.visibility(eyeobj)
-
- return
-
-/mob/living/silicon/ai/cancel_camera()
- set name = "Cancel Camera View"
- set category = "OOC"
- reset_view(null)
- machine = null
-
-/mob/living/silicon/ai/reset_view(atom/A)
- if (client)
- if(!eyeobj)
- eyeobj = new()
- eyeobj.ai = src
-
- client.eye = eyeobj
- client.perspective = EYE_PERSPECTIVE
-
- if (istype(A, /atom/movable))
- eyeobj.loc = locate(A.x, A.y, A.z)
-
- else
- eyeobj.loc = locate(src.x, src.y, src.z)
-
- cameranet.visibility(eyeobj)
diff --git a/code/WorkInProgress/AI_Visibility/ai.dm b/code/WorkInProgress/AI_Visibility/ai.dm
deleted file mode 100644
index 7dcbf54e679..00000000000
--- a/code/WorkInProgress/AI_Visibility/ai.dm
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/mob/aiEye
- var/list/visibleCameraChunks = list()
- var/mob/ai = null
- density = 0
-
-/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new()
-
-/mob/living/silicon/ai/New()
- ..()
- eyeobj.ai = src
- spawn(20)
- freelook()
-
-/mob/living/silicon/ai/death(gibbed)
- if(client && client.eye == eyeobj)
- for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks)
- c.remove(eyeobj)
- client.eye = src
- return ..(gibbed)
-
-/mob/living/silicon/ai/verb/freelook()
- set category = "AI Commands"
- set name = "freelook"
- current = null //cancel camera view first, it causes problems
- cameraFollow = null
- if(!eyeobj) //if it got deleted somehow (like an admin trying to fix things <.<')
- eyeobj = new()
- eyeobj.ai = src
- client.eye = eyeobj
- eyeobj.loc = loc
- cameranet.visibility(eyeobj)
-
-/mob/aiEye/Move()
- . = ..()
- if(.)
- cameranet.visibility(src)
-
-/client/AIMove(n, direct, var/mob/living/silicon/ai/user)
- if(eye == user.eyeobj)
- user.eyeobj.loc = get_step(user.eyeobj, direct)
- cameranet.visibility(user.eyeobj)
-
- else
- return ..()
-
-/turf/move_camera_by_click()
- if(istype(usr, /mob/living/silicon/ai))
- var/mob/living/silicon/ai/AI = usr
- if(AI.client.eye == AI.eyeobj)
- return
- return ..()
-
-/mob/living/silicon/ai/attack_ai(var/mob/user as mob)
- if (user != src)
- return
-
- if (stat == 2)
- return
-
- var/list/L = list()
- for (var/obj/machinery/camera/C in world)
- L.Add(C)
-
- camera_sort(L)
- L = camera_network_sort(L)
-
- var/list/D = list()
- for (var/obj/machinery/camera/C in L)
- if ( C.network in src.networks )
- D[text("[]: [][]", C.network, C.c_tag, (C.status ? null : " (Deactivated)"))] = C
- D["Cancel"] = "Cancel"
-
- var/t = input(user, "Which camera should you change to?") as null|anything in D
-
- if (!t || t == "Cancel")
- return 0
-
- var/obj/machinery/camera/C = D[t]
-
- eyeobj.loc = C.loc
- cameranet.visibility(eyeobj)
-
- return
-
-/mob/living/silicon/ai/cancel_camera()
- set name = "Cancel Camera View"
- set category = "OOC"
- reset_view(null)
- machine = null
-
-/mob/living/silicon/ai/reset_view(atom/A)
- if (client)
- if(!eyeobj)
- eyeobj = new()
- eyeobj.ai = src
-
- client.eye = eyeobj
- client.perspective = EYE_PERSPECTIVE
-
- if (istype(A, /atom/movable))
- eyeobj.loc = locate(A.x, A.y, A.z)
-
- else
- eyeobj.loc = locate(src.x, src.y, src.z)
-
- cameranet.visibility(eyeobj)
diff --git a/code/WorkInProgress/AI_Visibility/cameranet.dm b/code/WorkInProgress/AI_Visibility/cameranet.dm
deleted file mode 100644
index 3b46844e6be..00000000000
--- a/code/WorkInProgress/AI_Visibility/cameranet.dm
+++ /dev/null
@@ -1,156 +0,0 @@
-//------------------------------------------------------------
-//
-// The Cameranet
-//
-// The cameranet is a single global instance of a unique
-// datum, which contains logic for managing the individual
-// chunks.
-//
-//------------------------------------------------------------
-
-/datum/cameranet
- var/list/cameras = list()
- var/list/chunks = list()
- var/network = "net1"
- var/ready = 0
-
- var/list/minimap = list()
-
- var/generating_minimap = TRUE
-
-var/datum/cameranet/cameranet = new()
-
-
-
-/datum/cameranet/New()
- ..()
-
- spawn(100)
- init_minimap()
-
-
-/datum/cameranet/proc/init_minimap()
- for(var/x = 0, x <= world.maxx, x += 16)
- for(var/y = 0, y <= world.maxy, y += 16)
- sleep(1)
- getCameraChunk(x, y, 5)
- getCameraChunk(x, y, 1)
-
- generating_minimap = FALSE
-
-
-/datum/cameranet/proc/chunkGenerated(x, y, z)
- var/key = "[x],[y],[z]"
- return key in chunks
-
-
-/datum/cameranet/proc/getCameraChunk(x, y, z)
- var/key = "[x],[y],[z]"
-
- if(!(key in chunks))
- chunks[key] = new /datum/camerachunk(null, x, y, z)
-
- return chunks[key]
-
-
-
-
-// This proc updates what chunks are considered seen
-// by an aiEye. As part of the process, it will force
-// any newly visible chunks with pending unscheduled
-// updates to update, and show the correct obscuring
-// and dimming image sets. If you do not call this
-// after the eye has moved, it may result in the
-// affected AI gaining (partial) xray, seeing through
-// now-closed doors, not seeing through open doors,
-// or other visibility oddities, depending on if/when
-// they last visited any of the chunks in the nearby
-// area.
-
-// It must be called manually, as there is no way to
-// have a proc called automatically every time an
-// object's loc changes.
-
-/datum/cameranet/proc/visibility(mob/aiEye/ai)
- var/x1 = max(0, ai.x - 16) & ~0xf
- var/y1 = max(0, ai.y - 16) & ~0xf
- var/x2 = min(world.maxx, ai.x + 16) & ~0xf
- var/y2 = min(world.maxy, ai.y + 16) & ~0xf
-
- var/list/visibleChunks = list()
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- visibleChunks += getCameraChunk(x, y, ai.z)
-
- var/list/remove = ai.visibleCameraChunks - visibleChunks
- var/list/add = visibleChunks - ai.visibleCameraChunks
-
- for(var/datum/camerachunk/c in remove)
- c.remove(ai)
-
- for(var/datum/camerachunk/c in add)
- c.add(ai)
-
-
-
-
-// This proc should be called if a turf, or the contents
-// of a turf, changes opacity. This includes such things
-// as changing the turf, opening or closing a door, or
-// anything else that would alter line of sight in the
-// general area.
-
-/datum/cameranet/proc/updateVisibility(turf/loc)
- if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z))
- return
-
- var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z)
- chunk.visibilityChanged(loc)
-
-
-
-
-// This proc updates all relevant chunks when enabling or
-// creating a camera, allowing freelook and the minimap to
-// respond correctly.
-
-/datum/cameranet/proc/addCamera(obj/machinery/camera/c)
- var/x1 = max(0, c.x - 16) & ~0xf
- var/y1 = max(0, c.y - 16) & ~0xf
- var/x2 = min(world.maxx, c.x + 16) & ~0xf
- var/y2 = min(world.maxy, c.y + 16) & ~0xf
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- if(chunkGenerated(x, y, c.z))
- var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z)
-
- if(!(c in chunk.cameras))
- chunk.cameras += c
- chunk.hasChanged()
-
-
-
-
-// This proc updates all relevant chunks when disabling or
-// deleting a camera, allowing freelook and the minimap to
-// respond correctly.
-
-/datum/cameranet/proc/removeCamera(obj/machinery/camera/c)
- var/x1 = max(0, c.x - 16) & ~0xf
- var/y1 = max(0, c.y - 16) & ~0xf
- var/x2 = min(world.maxx, c.x + 16) & ~0xf
- var/y2 = min(world.maxy, c.y + 16) & ~0xf
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- if(chunkGenerated(x, y, c.z))
- var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z)
-
- if(!c)
- chunk.hasChanged()
-
- if(c in chunk.cameras)
- chunk.cameras -= c
- chunk.hasChanged()
diff --git a/code/WorkInProgress/AI_Visibility/chunk.dm b/code/WorkInProgress/AI_Visibility/chunk.dm
deleted file mode 100644
index 8a6886a1ade..00000000000
--- a/code/WorkInProgress/AI_Visibility/chunk.dm
+++ /dev/null
@@ -1,224 +0,0 @@
-#define MINIMAP_UPDATE_DELAY 1200
-
-/datum/camerachunk
- var/list/turfs = list()
-
- var/list/obscuredTurfs = list()
- var/list/visibleTurfs = list()
- var/list/dimTurfs = list()
-
- var/list/obscured = list()
- var/list/dim = list()
-
- var/list/cameras = list()
- var/list/seenby = list()
-
- var/changed = 1
- var/updating = 0
- var/minimap_updating = 0
-
- var/x
- var/y
- var/z
-
-
- var/icon/minimap_icon = new('icons/minimap.dmi', "chunk_base")
- var/obj/minimap_obj/minimap_obj = new()
-
-
-
-/datum/camerachunk/New(loc, x, y, z)
- //Round X and Y down to a multiple of 16, if nessecary
- src.x = x & ~0xF
- src.y = y & ~0xF
- src.z = z
-
- rebuild_chunk()
-
-
-
-// Completely re-calculate the whole chunk.
-
-/datum/camerachunk/proc/rebuild_chunk()
- for(var/mob/aiEye/eye in seenby)
- if(!eye.ai)
- seenby -= eye
- continue
-
- if(eye.ai.client)
- eye.ai.client.images -= obscured
- eye.ai.client.images -= dim
-
- var/start = locate(x, y, z)
- var/end = locate(min(x + 15, world.maxx), min(y + 15, world.maxy), z)
-
- turfs = block(start, end)
- dimTurfs = list()
- visibleTurfs = list()
- obscured = list()
- dim = list()
- cameras = list()
-
- for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z)))
- if(c.status)
- cameras += c
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 7
-
- dimTurfs |= turfs & view(7, c)
- visibleTurfs |= turfs & view(6, c)
-
- c.luminosity = lum
-
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- for(var/turf/t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
-
- for(var/turf/t in dimTurfs)
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER)
- t.dim.mouse_opacity = 0
-
- dim += t.dim
-
- cameranet.minimap |= minimap_obj
-
- for(var/mob/aiEye/eye in seenby)
- if(eye.ai.client)
- eye.ai.client.images |= obscured
- eye.ai.client.images |= dim
-
-
-
-/datum/camerachunk/proc/add(mob/aiEye/eye)
- eye.visibleCameraChunks |= src
-
- if(eye.ai.client)
- eye.ai.client.images |= obscured
- eye.ai.client.images |= dim
-
- seenby |= eye
-
- if(changed && !updating)
- update()
- changed = 0
-
-
-
-/datum/camerachunk/proc/remove(mob/aiEye/eye)
- eye.visibleCameraChunks -= src
-
- if(eye.ai.client)
- eye.ai.client.images -= obscured
- eye.ai.client.images -= dim
-
- seenby -= eye
-
-/datum/camerachunk/proc/visibilityChanged(turf/loc)
- if(!(loc in visibleTurfs))
- return
-
- hasChanged()
-
-/datum/camerachunk/proc/hasChanged()
- if(length(seenby) > 0)
- if(!updating)
- updating = 1
-
- spawn(10)//Batch large changes, such as many doors opening or closing at once
- update()
- updating = 0
-
- else
- changed = 1
-
- if(!minimap_updating)
- minimap_updating = 1
-
- spawn(MINIMAP_UPDATE_DELAY)
- if(changed && !updating)
- update()
- changed = 0
-
- update_minimap()
- minimap_updating = 0
-
-/datum/camerachunk/proc/update()
-
- var/list/newDimTurfs = list()
- var/list/newVisibleTurfs = list()
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 7
-
- newDimTurfs |= turfs & view(7, c)
- newVisibleTurfs |= turfs & view(6, c)
-
- c.luminosity = lum
-
- var/list/dimAdded = newDimTurfs - dimTurfs
- var/list/dimRemoved = dimTurfs - newDimTurfs
- var/list/visAdded = newVisibleTurfs - visibleTurfs
- var/list/visRemoved = visibleTurfs - newVisibleTurfs
-
- visibleTurfs = newVisibleTurfs
- dimTurfs = newDimTurfs
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- var/list/images_added = list()
- var/list/images_removed = list()
-
- for(var/turf/t in dimRemoved)
- if(t.dim)
- dim -= t.dim
- images_removed += t.dim
-
- if(!(t in visibleTurfs))
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- images_added += t.obscured
-
- for(var/turf/t in dimAdded)
- if(!(t in visibleTurfs))
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15)
- t.dim.mouse_opacity = 0
-
- dim += t.dim
- images_added += t.dim
-
- if(t.obscured)
- obscured -= t.obscured
- images_removed += t.obscured
-
- for(var/turf/t in visAdded)
- if(t.obscured)
- obscured -= t.obscured
- images_removed += t.obscured
-
- for(var/turf/t in visRemoved)
- if(t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- images_added += t.obscured
-
- for(var/mob/aiEye/eye in seenby)
- if(eye.ai)
- if(eye.ai.client)
- eye.ai.client.images -= images_removed
- eye.ai.client.images |= images_added
- else
- seenby -= eye
\ No newline at end of file
diff --git a/code/WorkInProgress/AI_Visibility/minimap.dm b/code/WorkInProgress/AI_Visibility/minimap.dm
deleted file mode 100644
index c97b01e0f82..00000000000
--- a/code/WorkInProgress/AI_Visibility/minimap.dm
+++ /dev/null
@@ -1,137 +0,0 @@
-/client/var/minimap_view_z = 1
-
-/obj/minimap_obj
- var/datum/camerachunk/chunk
-
-/obj/minimap_obj/Click(location, control, params)
- if(!istype(usr, /mob/dead) && !istype(usr, /mob/living/silicon/ai) && !(usr.client && usr.client.holder && usr.client.holder.level >= 4))
- return
-
- var/list/par = params2list(params)
- var/screen_loc = par["screen-loc"]
-
- if(findtext(screen_loc, "minimap:") != 1)
- return
-
- screen_loc = copytext(screen_loc, length("minimap:") + 1)
-
- var/x_text = copytext(screen_loc, 1, findtext(screen_loc, ","))
- var/y_text = copytext(screen_loc, findtext(screen_loc, ",") + 1)
-
- var/x = chunk.x
- x += round((text2num(copytext(x_text, findtext(x_text, ":") + 1)) + 1) / 2)
-
- var/y = chunk.y
- y += round((text2num(copytext(y_text, findtext(y_text, ":") + 1)) + 1) / 2)
-
- if(istype(usr, /mob/living/silicon/ai))
- var/mob/living/silicon/ai/ai = usr
- ai.freelook()
- ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z)
- cameranet.visibility(ai.eyeobj)
-
- else
- usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z)
-
-/mob/dead/verb/Open_Minimap()
- set category = "Ghost"
- cameranet.show_minimap(client)
-
-
-/mob/living/silicon/ai/verb/Open_Minimap()
- set category = "AI Commands"
- cameranet.show_minimap(client)
-
-
-/client/proc/Open_Minimap()
- set category = "Admin"
- cameranet.show_minimap(src)
-
-
-/mob/verb/Open_Minimap_Z()
- set hidden = 1
-
- if(!istype(src, /mob/dead) && !istype(src, /mob/living/silicon/ai) && !(client && client.holder && client.holder.level >= 4))
- return
-
- var/level = input("Select a Z level", "Z select", null) as null | anything in cameranet.minimap
-
- if(level != null)
- cameranet.show_minimap(client, level)
-
-
-
-/datum/cameranet/proc/show_minimap(client/client, z_level = "z-1")
- if(!istype(client.mob, /mob/dead) && !istype(client.mob, /mob/living/silicon/ai) && !(client.holder && client.holder.level >= 4))
- return
-
- if(z_level in cameranet.minimap)
- winshow(client, "minimapwindow", 1)
-
- for(var/key in cameranet.minimap)
- client.screen -= cameranet.minimap[key]
-
- client.screen |= cameranet.minimap[z_level]
-
- if(cameranet.generating_minimap)
- spawn(50)
- show_minimap(client, z_level)
-
- client.minimap_view_z = text2num(copytext(z_level, 3))
-
-
-/datum/camerachunk/proc/update_minimap()
- if(changed && !updating)
- update()
-
- minimap_icon.Blend(rgb(255, 0, 0), ICON_MULTIPLY)
-
- var/list/turfs = visibleTurfs | dimTurfs
-
- for(var/turf/turf in turfs)
- var/x = (turf.x & 0xf) * 2
- var/y = (turf.y & 0xf) * 2
-
- if(turf.density)
- minimap_icon.DrawBox(rgb(100, 100, 100), x + 1, y + 1, x + 2, y + 2)
- continue
-
- else if(istype(turf, /turf/space))
- minimap_icon.DrawBox(rgb(0, 0, 0), x + 1, y + 1, x + 2, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(200, 200, 200), x + 1, y + 1, x + 2, y + 2)
-
- for(var/obj/structure/o in turf)
- if(o.density)
- if(istype(o, /obj/structure/window) && (o.dir == NORTH || o.dir == SOUTH || o.dir == EAST || o.dir == WEST))
- if(o.dir == NORTH)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 2, x + 2, y + 2)
- else if(o.dir == SOUTH)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 2, y + 1)
- else if(o.dir == EAST)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 3, y + 1, x + 2, y + 2)
- else if(o.dir == WEST)
- minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 1, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(150, 150, 150), x + 1, y + 1, x + 2, y + 2)
- break
-
- for(var/obj/machinery/door/o in turf)
- if(istype(o, /obj/machinery/door/window))
- if(o.dir == NORTH)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 2, x + 2, y + 2)
- else if(o.dir == SOUTH)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 1)
- else if(o.dir == EAST)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 2, y + 1, x + 2, y + 2)
- else if(o.dir == WEST)
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 1, y + 2)
-
- else
- minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 2)
- break
-
- minimap_obj.screen_loc = "minimap:[src.x / 16],[src.y / 16]"
- minimap_obj.icon = minimap_icon
diff --git a/code/WorkInProgress/AI_Visibility/util.dm b/code/WorkInProgress/AI_Visibility/util.dm
deleted file mode 100644
index da576cbd406..00000000000
--- a/code/WorkInProgress/AI_Visibility/util.dm
+++ /dev/null
@@ -1,38 +0,0 @@
-
-/turf
- var/image/obscured
- var/image/dim
-
-/turf/proc/visibilityChanged()
- cameranet.updateVisibility(src)
-
-/turf/New()
- ..()
- cameranet.updateVisibility(src)
-
-/obj/machinery/door/update_nearby_tiles(need_rebuild)
- . = ..(need_rebuild)
- cameranet.updateVisibility(loc)
-
-/obj/machinery/camera/New()
- ..()
- cameranet.addCamera(src)
-
-/obj/machinery/camera/Del()
- cameranet.removeCamera(src)
- ..()
-
-/obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
- . = ..(W, user)
- if(istype(W, /obj/item/weapon/wirecutters))
- if(status)
- cameranet.addCamera(src)
- else
- cameranet.removeCamera(src)
-
-/proc/checkcameravis(atom/A)
- for(var/obj/machinery/camera/C in view(A,7))
- if(!C.status || C.stat == 2)
- continue
- return 1
- return 0
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm b/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm
deleted file mode 100644
index 6183ed04f67..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm
+++ /dev/null
@@ -1,77 +0,0 @@
-
-//reactor areas
-
-/area/engine
- icon_state = "engine"
-
- fore
- name = "\improper Fore"
-
- construction_storage
- name = "\improper Construction storage"
-
- locker
- name = "\improper Locker room"
-
- atmos_storage
- name = "\improper Atmos storage"
- icon_state = "engine_storage"
-
- control
- name = "\improper Control"
- icon_state = "engine_control"
-
- electrical_storage
- name = "\improper Electrical storage"
-
- engine_monitoring
- name = "\improper Electrical storage"
- icon_state = "engine_monitoring"
-
- reactor_core
- name = "\improper Reactor Core"
- //icon_state = "engine_core"
-
- reactor_gas
- name = "Reactor Gas Storage"
- //icon_state = "engine_atmos"
-
- aux_control
- name = "Reactor Auxiliary Control"
- //icon_state = "engine_aux"
-
- turbine_control
- name = "Turbine Control"
- //icon_state = "engine_turbine"
-
- reactor_airlock
- name = "\improper Reactor Primary Entrance"
- //icon_state = "engine_airlock"
-
- reactor_fuel_storage
- name = "Reactor Fuel Storage"
- //icon_state = "engine_fuel"
-
- reactor_fuel_ports
- name = "\improper Reactor Fuel Ports"
- //icon_state = "engine_port"
-
- generators
- name = "\improper Generator Room"
- //icon_state = "engine_generators"
-
- port_gyro_bay
- name = "\improper Port Gyrotron Bay"
- //icon_state = "engine_starboardgyro"
-
- starboard_gyro_bay
- name = "\improper Starboard Gyrotron Bay"
- //icon_state = "engine_portgyro"
-
- storage
- name = "\improper Engineering hallway"
- icon_state = "engine_storage"
-
- hallway
- name = "\improper Engineering storage"
- icon_state = "engine_hallway"
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm b/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
deleted file mode 100644
index 8521e4d1b4c..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm
+++ /dev/null
@@ -1,120 +0,0 @@
-
-//////////////////////////////////////
-// RUST Core Control computer
-
-/obj/item/weapon/circuitboard/rust_core_control
- name = "Circuit board (RUST core controller)"
- build_path = "/obj/machinery/computer/rust_core_control"
- origin_tech = "programming=4;engineering=4"
-
-datum/design/rust_core_control
- name = "Circuit Design (RUST core controller)"
- desc = "Allows for the construction of circuit boards used to build a core control console for the RUST fusion engine."
- id = "rust_core_control"
- req_tech = list("programming" = 4, "engineering" = 4)
- build_type = IMPRINTER
- materials = list("$glass" = 2000, "sacid" = 20)
- build_path = "/obj/item/weapon/circuitboard/rust_core_control"
-
-//////////////////////////////////////
-// RUST Fuel Control computer
-
-/obj/item/weapon/circuitboard/rust_fuel_control
- name = "Circuit board (RUST fuel controller)"
- build_path = "/obj/machinery/computer/rust_fuel_control"
- origin_tech = "programming=4;engineering=4"
-
-datum/design/rust_fuel_control
- name = "Circuit Design (RUST fuel controller)"
- desc = "Allows for the construction of circuit boards used to build a fuel injector control console for the RUST fusion engine."
- id = "rust_fuel_control"
- req_tech = list("programming" = 4, "engineering" = 4)
- build_type = IMPRINTER
- materials = list("$glass" = 2000, "sacid" = 20)
- build_path = "/obj/item/weapon/circuitboard/rust_fuel_control"
-
-//////////////////////////////////////
-// RUST Fuel Port board
-
-/obj/item/weapon/module/rust_fuel_port
- name = "Internal circuitry (RUST fuel port)"
- icon_state = "card_mod"
- origin_tech = "engineering=4;materials=5"
-
-datum/design/rust_fuel_port
- name = "Internal circuitry (RUST fuel port)"
- desc = "Allows for the construction of circuit boards used to build a fuel injection port for the RUST fusion engine."
- id = "rust_fuel_port"
- req_tech = list("engineering" = 4, "materials" = 5)
- build_type = IMPRINTER
- materials = list("$glass" = 2000, "sacid" = 20, "$uranium" = 3000)
- build_path = "/obj/item/weapon/module/rust_fuel_port"
-
-//////////////////////////////////////
-// RUST Fuel Compressor board
-
-/obj/item/weapon/module/rust_fuel_compressor
- name = "Internal circuitry (RUST fuel compressor)"
- icon_state = "card_mod"
- origin_tech = "materials=6;plasmatech=4"
-
-datum/design/rust_fuel_compressor
- name = "Circuit Design (RUST fuel compressor)"
- desc = "Allows for the construction of circuit boards used to build a fuel compressor of the RUST fusion engine."
- id = "rust_fuel_compressor"
- req_tech = list("materials" = 6, "plasmatech" = 4)
- build_type = IMPRINTER
- materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 1000)
- build_path = "/obj/item/weapon/module/rust_fuel_compressor"
-
-//////////////////////////////////////
-// RUST Tokamak Core board
-
-/obj/item/weapon/circuitboard/rust_core
- name = "Internal circuitry (RUST tokamak core)"
- build_path = "/obj/machinery/power/rust_core"
- board_type = "machine"
- origin_tech = "bluespace=3;plasmatech=4;magnets=5;powerstorage=6"
- frame_desc = "Requires 2 Pico Manipulators, 1 Ultra Micro-Laser, 5 Pieces of Cable, 1 Subspace Crystal and 1 Console Screen."
- req_components = list(
- "/obj/item/weapon/stock_parts/manipulator/pico" = 2,
- "/obj/item/weapon/stock_parts/micro_laser/ultra" = 1,
- "/obj/item/weapon/stock_parts/subspace/crystal" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/stack/cable_coil" = 5)
-
-datum/design/rust_core
- name = "Internal circuitry (RUST tokamak core)"
- desc = "The circuit board that for a RUST-pattern tokamak fusion core."
- id = "pacman"
- req_tech = list(bluespace = 3, plasmatech = 4, magnets = 5, powerstorage = 6)
- build_type = IMPRINTER
- reliability_base = 79
- materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 2000)
- build_path = "/obj/item/weapon/circuitboard/rust_core"
-
-//////////////////////////////////////
-// RUST Fuel Injector board
-
-/obj/item/weapon/circuitboard/rust_injector
- name = "Internal circuitry (RUST fuel injector)"
- build_path = "/obj/machinery/power/rust_fuel_injector"
- board_type = "machine"
- origin_tech = "powerstorage=3;engineering=4;plasmatech=4;materials=6"
- frame_desc = "Requires 2 Pico Manipulators, 1 Phasic Scanning Module, 1 Super Matter Bin, 1 Console Screen and 5 Pieces of Cable."
- req_components = list(
- "/obj/item/weapon/stock_parts/manipulator/pico" = 2,
- "/obj/item/weapon/stock_parts/scanning_module/phasic" = 1,
- "/obj/item/weapon/stock_parts/matter_bin/super" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/stack/cable_coil" = 5)
-
-datum/design/rust_injector
- name = "Internal circuitry (RUST tokamak core)"
- desc = "The circuit board that for a RUST-pattern particle accelerator."
- id = "pacman"
- req_tech = list(powerstorage = 3, engineering = 4, plasmatech = 4, materials = 6)
- build_type = IMPRINTER
- reliability_base = 79
- materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$uranium" = 2000)
- build_path = "/obj/item/weapon/circuitboard/rust_core"
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm
deleted file mode 100644
index f20f33a7ac4..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm
+++ /dev/null
@@ -1,143 +0,0 @@
-
-/obj/machinery/computer/rust_core_control
- name = "RUST Core Control"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "core_control"
- var/list/connected_devices = list()
- var/id_tag = "allan remember to update this before you leave"
- var/scan_range = 25
-
- //currently viewed
- var/obj/machinery/power/rust_core/cur_viewed_device
-
-/obj/machinery/computer/rust_core_control/process()
- if(stat & (BROKEN|NOPOWER))
- return
-
-/obj/machinery/computer/rust_core_control/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/computer/rust_core_control/attack_hand(mob/user)
- add_fingerprint(user)
- interact(user)
-
-/obj/machinery/computer/rust_core_control/interact(mob/user)
- if(stat & BROKEN)
- user.unset_machine()
- user << browse(null, "window=core_control")
- return
- if (!istype(user, /mob/living/silicon) && (get_dist(src, user) > 1 ))
- user.unset_machine()
- user << browse(null, "window=core_control")
- return
-
- var/dat = ""
- if(stat & NOPOWER)
- dat += "The console is dark and nonresponsive."
- else
- dat += "Reactor Core Primary Monitor
"
- if(cur_viewed_device && cur_viewed_device.stat & (BROKEN|NOPOWER))
- cur_viewed_device = null
- if(cur_viewed_device && !cur_viewed_device.remote_access_enabled)
- cur_viewed_device = null
-
- if(cur_viewed_device)
- dat += "Device tag: [cur_viewed_device.id_tag ? cur_viewed_device.id_tag : "UNSET"]
"
- dat += "Device [cur_viewed_device.owned_field ? "activated" : "deactivated"].
"
- dat += "\[Bring field [cur_viewed_device.owned_field ? "offline" : "online"]\]
"
- dat += "Device [cur_viewed_device.anchored ? "secured" : "unsecured"].
"
- dat += "
"
- dat += "Field encumbrance: [cur_viewed_device.owned_field ? 0 : "NA"]
"
- dat += "Field strength: [cur_viewed_device.field_strength] Wm^3
"
- dat += "\[----\] \
- \[--- \] \
- \[-- \] \
- \[- \] \
- \[+ \] \
- \[++ \] \
- \[+++ \] \
- \[++++\]
"
- dat += "Field frequency: [cur_viewed_device.field_frequency] MHz
"
- dat += "\[----\] \
- \[--- \] \
- \[-- \] \
- \[- \] \
- \[+ \] \
- \[++ \] \
- \[+++ \] \
- \[++++\]
"
-
- var/power_stat = "Good"
- if(cur_viewed_device.cached_power_avail < cur_viewed_device.active_power_usage)
- power_stat = "Insufficient"
- else if(cur_viewed_device.cached_power_avail < cur_viewed_device.active_power_usage * 2)
- power_stat = "Check"
- dat += "Power status: [power_stat]
"
- else
- dat += "\[Refresh device list\]
"
- if(connected_devices.len)
- dat += ""
- dat += ""
- dat += "| Device tag | "
- dat += " | "
- dat += "
"
- for(var/obj/machinery/power/rust_core/C in connected_devices)
- if(!check_core_status(C))
- connected_devices.Remove(C)
- continue
-
- dat += ""
- dat += "| [C.id_tag] | "
- dat += "\[Manage\] | "
- dat += "
"
- dat += "
"
- else
- dat += "No devices connected.
"
-
- dat += "
"
- dat += "Refresh "
- dat += "Close"
-
- user << browse(dat, "window=core_control;size=500x400")
- onclose(user, "core_control")
- user.set_machine(src)
-
-/obj/machinery/computer/rust_core_control/Topic(href, href_list)
- ..()
-
- if( href_list["goto_scanlist"] )
- cur_viewed_device = null
-
- if( href_list["manage_individual"] )
- cur_viewed_device = locate(href_list["manage_individual"])
-
- if( href_list["scan"] )
- connected_devices = list()
- for(var/obj/machinery/power/rust_core/C in range(scan_range, src))
- if(check_core_status(C))
- connected_devices.Add(C)
-
- if( href_list["startup"] )
- if(cur_viewed_device)
- cur_viewed_device.Startup()
-
- if( href_list["shutdown"] )
- if(cur_viewed_device)
- cur_viewed_device.Shutdown()
-
- if( href_list["close"] )
- usr << browse(null, "window=core_control")
- usr.unset_machine()
-
- updateDialog()
-
-/obj/machinery/computer/rust_core_control/proc/check_core_status(var/obj/machinery/power/rust_core/C)
- if(!C)
- return 0
-
- if(C.stat & (BROKEN|NOPOWER) || !C.remote_access_enabled || !C.id_tag)
- if(connected_devices.Find(C))
- connected_devices.Remove(C)
- return 0
-
- return 1
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm
deleted file mode 100644
index e42eedac03f..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm
+++ /dev/null
@@ -1,438 +0,0 @@
-//the em field is where the fun happens
-/*
-Deuterium-deuterium fusion : 40 x 10^7 K
-Deuterium-tritium fusion: 4.5 x 10^7 K
-*/
-
-//#DEFINE MAX_STORED_ENERGY (held_plasma.toxins * held_plasma.toxins * SPECIFIC_HEAT_TOXIN)
-
-/obj/effect/rust_em_field
- name = "EM Field"
- desc = "A coruscating, barely visible field of energy. It is shaped like a slightly flattened torus."
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "emfield_s1"
- //
- var/major_radius = 0 //longer radius in meters = field_strength * 0.21875, max = 8.75
- var/minor_radius = 0 //shorter radius in meters = field_strength * 0.2125, max = 8.625
- var/size = 1 //diameter in tiles
- var/volume_covered = 0 //atmospheric volume covered
- //
- var/obj/machinery/power/rust_core/owned_core
- var/list/dormant_reactant_quantities = new
- //luminosity = 1
- layer = 3.1
- //
- var/energy = 0
- var/mega_energy = 0
- var/radiation = 0
- var/frequency = 1
- var/field_strength = 0.01 //in teslas, max is 50T
-
- var/obj/machinery/rust/rad_source/radiator
- var/datum/gas_mixture/held_plasma = new
- var/particle_catchers[13]
-
- var/emp_overload = 0
-
-/obj/effect/rust_em_field/New()
- ..()
- //create radiator
- for(var/obj/machinery/rust/rad_source/rad in range(0))
- radiator = rad
- if(!radiator)
- radiator = new()
-
- //make sure there's a field generator
- for(var/obj/machinery/power/rust_core/core in loc)
- owned_core = core
-
- if(!owned_core)
- del(src)
-
- //create the gimmicky things to handle field collisions
- var/obj/effect/rust_particle_catcher/catcher
- //
- catcher = new (locate(src.x,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(1)
- particle_catchers.Add(catcher)
- //
- catcher = new (locate(src.x-1,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(3)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x+1,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(3)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y+1,src.z))
- catcher.parent = src
- catcher.SetSize(3)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y-1,src.z))
- catcher.parent = src
- catcher.SetSize(3)
- particle_catchers.Add(catcher)
- //
- catcher = new (locate(src.x-2,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(5)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x+2,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(5)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y+2,src.z))
- catcher.parent = src
- catcher.SetSize(5)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y-2,src.z))
- catcher.parent = src
- catcher.SetSize(5)
- particle_catchers.Add(catcher)
- //
- catcher = new (locate(src.x-3,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(7)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x+3,src.y,src.z))
- catcher.parent = src
- catcher.SetSize(7)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y+3,src.z))
- catcher.parent = src
- catcher.SetSize(7)
- particle_catchers.Add(catcher)
- catcher = new (locate(src.x,src.y-3,src.z))
- catcher.parent = src
- catcher.SetSize(7)
- particle_catchers.Add(catcher)
-
- //init values
- major_radius = field_strength * 0.21875// max = 8.75
- minor_radius = field_strength * 0.2125// max = 8.625
- volume_covered = PI * major_radius * minor_radius * 2.5 * 2.5 * 1000
-
- processing_objects.Add(src)
-
-/obj/effect/rust_em_field/process()
- //make sure the field generator is still intact
- if(!owned_core)
- del(src)
-
- //handle radiation
- if(!radiator)
- radiator = new /obj/machinery/rust/rad_source()
- radiator.mega_energy += radiation
- radiator.source_alive++
- radiation = 0
-
- //update values
- var/transfer_ratio = field_strength / 50 //higher field strength will result in faster plasma aggregation
- major_radius = field_strength * 0.21875// max = 8.75m
- minor_radius = field_strength * 0.2125// max = 8.625m
- volume_covered = PI * major_radius * minor_radius * 2.5 * 2.5 * 2.5 * 7 * 7 * transfer_ratio //one tile = 2.5m*2.5m*2.5m
-
- //add plasma from the surrounding environment
- var/datum/gas_mixture/environment = loc.return_air()
-
- //hack in some stuff to remove plasma from the air because SCIENCE
- //the amount of plasma pulled in each update is relative to the field strength, with 50T (max field strength) = 100% of area covered by the field
- //at minimum strength, 0.25% of the field volume is pulled in per update (?)
- //have a max of 1000 moles suspended
- if(held_plasma.toxins < transfer_ratio * 1000)
- var/moles_covered = environment.return_pressure()*volume_covered/(environment.temperature * R_IDEAL_GAS_EQUATION)
- //world << "\blue moles_covered: [moles_covered]"
- //
- var/datum/gas_mixture/gas_covered = environment.remove(moles_covered)
- var/datum/gas_mixture/plasma_captured = new /datum/gas_mixture()
- //
- plasma_captured.toxins = round(gas_covered.toxins * transfer_ratio)
- //world << "\blue[plasma_captured.toxins] moles of plasma captured"
- plasma_captured.temperature = gas_covered.temperature
- plasma_captured.update_values()
- //
- gas_covered.toxins -= plasma_captured.toxins
- gas_covered.update_values()
- //
- held_plasma.merge(plasma_captured)
- //
- environment.merge(gas_covered)
-
- //let the particles inside the field react
- React()
-
- //forcibly radiate any excess energy
- /*var/energy_max = transfer_ratio * 100000
- if(mega_energy > energy_max)
- var/energy_lost = rand( 1.5 * (mega_energy - energy_max), 2.5 * (mega_energy - energy_max) )
- mega_energy -= energy_lost
- radiation += energy_lost*/
-
- //change held plasma temp according to energy levels
- //SPECIFIC_HEAT_TOXIN
- if(mega_energy > 0 && held_plasma.toxins)
- var/heat_capacity = held_plasma.heat_capacity()//200 * number of plasma moles
- if(heat_capacity > 0.0003) //formerly MINIMUM_HEAT_CAPACITY
- held_plasma.temperature = (heat_capacity + mega_energy * 35000)/heat_capacity
-
- //if there is too much plasma in the field, lose some
- /*if( held_plasma.toxins > (MOLES_CELLSTANDARD * 7) * (50 / field_strength) )
- LosePlasma()*/
- if(held_plasma.toxins > 1)
- //lose a random amount of plasma back into the air, increased by the field strength (want to switch this over to frequency eventually)
- var/loss_ratio = rand() * (0.05 + (0.05 * 50 / field_strength))
- //world << "lost [loss_ratio*100]% of held plasma"
- //
- var/datum/gas_mixture/plasma_lost = new
- plasma_lost.temperature = held_plasma.temperature
- //
- plasma_lost.toxins = held_plasma.toxins * loss_ratio
- //plasma_lost.update_values()
- held_plasma.toxins -= held_plasma.toxins * loss_ratio
- //held_plasma.update_values()
- //
- environment.merge(plasma_lost)
- radiation += loss_ratio * mega_energy * 0.1
- mega_energy -= loss_ratio * mega_energy * 0.1
- else
- held_plasma.toxins = 0
- //held_plasma.update_values()
-
- //handle some reactants formatting
- for(var/reactant in dormant_reactant_quantities)
- var/amount = dormant_reactant_quantities[reactant]
- if(amount < 1)
- dormant_reactant_quantities.Remove(reactant)
- else if(amount >= 1000000)
- var/radiate = rand(3 * amount / 4, amount / 4)
- dormant_reactant_quantities[reactant] -= radiate
- radiation += radiate
-
- return 1
-
-/obj/effect/rust_em_field/proc/ChangeFieldStrength(var/new_strength)
- var/calc_size = 1
- emp_overload = 0
- if(new_strength <= 50)
- calc_size = 1
- else if(new_strength <= 200)
- calc_size = 3
- else if(new_strength <= 500)
- calc_size = 5
- else
- calc_size = 7
- if(new_strength > 900)
- emp_overload = 1
- //
- field_strength = new_strength
- change_size(calc_size)
-
-/obj/effect/rust_em_field/proc/ChangeFieldFrequency(var/new_frequency)
- frequency = new_frequency
-
-/obj/effect/rust_em_field/proc/AddEnergy(var/a_energy, var/a_mega_energy, var/a_frequency)
- var/energy_loss_ratio = 0
- if(a_frequency != src.frequency)
- energy_loss_ratio = 1 / abs(a_frequency - src.frequency)
- energy += a_energy - a_energy * energy_loss_ratio
- mega_energy += a_mega_energy - a_mega_energy * energy_loss_ratio
-
- while(energy > 100000)
- energy -= 100000
- mega_energy += 0.1
-
-/obj/effect/rust_em_field/proc/AddParticles(var/name, var/quantity = 1)
- if(name in dormant_reactant_quantities)
- dormant_reactant_quantities[name] += quantity
- else if(name != "proton" && name != "electron" && name != "neutron")
- dormant_reactant_quantities.Add(name)
- dormant_reactant_quantities[name] = quantity
-
-/obj/effect/rust_em_field/proc/RadiateAll(var/ratio_lost = 1)
- for(var/particle in dormant_reactant_quantities)
- radiation += dormant_reactant_quantities[particle]
- dormant_reactant_quantities.Remove(particle)
- radiation += mega_energy
- mega_energy = 0
-
- //lose all held plasma back into the air
- var/datum/gas_mixture/environment = loc.return_air()
- environment.merge(held_plasma)
-
-/obj/effect/rust_em_field/proc/change_size(var/newsize = 1)
- //
- var/changed = 0
- switch(newsize)
- if(1)
- size = 1
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "emfield_s1"
- pixel_x = 0
- pixel_y = 0
- //
- changed = 1
- if(3)
- size = 3
- icon = 'icons/effects/96x96.dmi'
- icon_state = "emfield_s3"
- pixel_x = -32
- pixel_y = -32
- //
- changed = 3
- if(5)
- size = 5
- icon = 'icons/effects/160x160.dmi'
- icon_state = "emfield_s5"
- pixel_x = -64
- pixel_y = -64
- //
- changed = 5
- if(7)
- size = 7
- icon = 'icons/effects/224x224.dmi'
- icon_state = "emfield_s7"
- pixel_x = -96
- pixel_y = -96
- //
- changed = 7
-
- for(var/obj/effect/rust_particle_catcher/catcher in particle_catchers)
- catcher.UpdateSize()
- return changed
-
-//the !!fun!! part
-/obj/effect/rust_em_field/proc/React()
- //loop through the reactants in random order
- var/list/reactants_reacting_pool = dormant_reactant_quantities.Copy()
- /*
- for(var/reagent in dormant_reactant_quantities)
- world << " before: [reagent]: [dormant_reactant_quantities[reagent]]"
- */
-
- //cant have any reactions if there aren't any reactants present
- if(reactants_reacting_pool.len)
- //determine a random amount to actually react this cycle, and remove it from the standard pool
- //this is a hack, and quite nonrealistic :(
- for(var/reactant in reactants_reacting_pool)
- reactants_reacting_pool[reactant] = rand(0,reactants_reacting_pool[reactant])
- dormant_reactant_quantities[reactant] -= reactants_reacting_pool[reactant]
- if(!reactants_reacting_pool[reactant])
- reactants_reacting_pool -= reactant
-
- //loop through all the reacting reagents, picking out random reactions for them
- var/list/produced_reactants = new/list
- var/list/primary_reactant_pool = reactants_reacting_pool.Copy()
- while(primary_reactant_pool.len)
- //pick one of the unprocessed reacting reagents randomly
- var/cur_primary_reactant = pick(primary_reactant_pool)
- primary_reactant_pool.Remove(cur_primary_reactant)
- //world << "\blue primary reactant chosen: [cur_primary_reactant]"
-
- //grab all the possible reactants to have a reaction with
- var/list/possible_secondary_reactants = reactants_reacting_pool.Copy()
- //if there is only one of a particular reactant, then it can not react with itself so remove it
- possible_secondary_reactants[cur_primary_reactant] -= 1
- if(possible_secondary_reactants[cur_primary_reactant] < 1)
- possible_secondary_reactants.Remove(cur_primary_reactant)
-
- //loop through and work out all the possible reactions
- var/list/possible_reactions = new/list
- for(var/cur_secondary_reactant in possible_secondary_reactants)
- if(possible_secondary_reactants[cur_secondary_reactant] < 1)
- continue
- var/datum/fusion_reaction/cur_reaction = get_fusion_reaction(cur_primary_reactant, cur_secondary_reactant)
- if(cur_reaction)
- //world << "\blue secondary reactant: [cur_secondary_reactant], [reaction_products.len]"
- possible_reactions.Add(cur_reaction)
-
- //if there are no possible reactions here, abandon this primary reactant and move on
- if(!possible_reactions.len)
- //world << "\blue no reactions"
- continue
-
- //split up the reacting atoms between the possible reactions
- while(possible_reactions.len)
- //pick a random substance to react with
- var/datum/fusion_reaction/cur_reaction = pick(possible_reactions)
- possible_reactions.Remove(cur_reaction)
-
- //set the randmax to be the lower of the two involved reactants
- var/max_num_reactants = reactants_reacting_pool[cur_reaction.primary_reactant] > reactants_reacting_pool[cur_reaction.secondary_reactant] ? \
- reactants_reacting_pool[cur_reaction.secondary_reactant] : reactants_reacting_pool[cur_reaction.primary_reactant]
- if(max_num_reactants < 1)
- continue
-
- //make sure we have enough energy
- if(mega_energy < max_num_reactants * cur_reaction.energy_consumption)
- max_num_reactants = round(mega_energy / cur_reaction.energy_consumption)
- if(max_num_reactants < 1)
- continue
-
- //randomly determined amount to react
- var/amount_reacting = rand(1, max_num_reactants)
-
- //removing the reacting substances from the list of substances that are primed to react this cycle
- //if there aren't enough of that substance (there should be) then modify the reactant amounts accordingly
- if( reactants_reacting_pool[cur_reaction.primary_reactant] - amount_reacting >= 0 )
- reactants_reacting_pool[cur_reaction.primary_reactant] -= amount_reacting
- else
- amount_reacting = reactants_reacting_pool[cur_reaction.primary_reactant]
- reactants_reacting_pool[cur_reaction.primary_reactant] = 0
- //same again for secondary reactant
- if( reactants_reacting_pool[cur_reaction.secondary_reactant] - amount_reacting >= 0 )
- reactants_reacting_pool[cur_reaction.secondary_reactant] -= amount_reacting
- else
- reactants_reacting_pool[cur_reaction.primary_reactant] += amount_reacting - reactants_reacting_pool[cur_reaction.primary_reactant]
- amount_reacting = reactants_reacting_pool[cur_reaction.secondary_reactant]
- reactants_reacting_pool[cur_reaction.secondary_reactant] = 0
-
- //remove the consumed energy
- mega_energy -= max_num_reactants * cur_reaction.energy_consumption
-
- //add any produced energy
- mega_energy += max_num_reactants * cur_reaction.energy_production
-
- //add any produced radiation
- radiation += max_num_reactants * cur_reaction.radiation
-
- //create the reaction products
- for(var/reactant in cur_reaction.products)
- var/success = 0
- for(var/check_reactant in produced_reactants)
- if(check_reactant == reactant)
- produced_reactants[reactant] += cur_reaction.products[reactant] * amount_reacting
- success = 1
- break
- if(!success)
- produced_reactants[reactant] = cur_reaction.products[reactant] * amount_reacting
-
- //this reaction is done, and can't be repeated this sub-cycle
- possible_reactions.Remove(cur_reaction.secondary_reactant)
-
- //
- /*if(new_radiation)
- if(!radiating)
- radiating = 1
- PeriodicRadiate()*/
-
- //loop through the newly produced reactants and add them to the pool
- //var/list/neutronic_radiation = new
- //var/list/protonic_radiation = new
- for(var/reactant in produced_reactants)
- AddParticles(reactant, produced_reactants[reactant])
- //world << "produced: [reactant], [dormant_reactant_quantities[reactant]]"
-
- //check whether there are reactants left, and add them back to the pool
- for(var/reactant in reactants_reacting_pool)
- AddParticles(reactant, reactants_reacting_pool[reactant])
- //world << "retained: [reactant], [reactants_reacting_pool[reactant]]"
-
-/obj/effect/rust_em_field/Destroy()
- //radiate everything in one giant burst
- for(var/obj/effect/rust_particle_catcher/catcher in particle_catchers)
- del (catcher)
- RadiateAll()
-
- processing_objects.Remove(src)
- ..()
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm
deleted file mode 100644
index 72dddd6fe06..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm
+++ /dev/null
@@ -1,287 +0,0 @@
-//the core [tokamaka generator] big funky solenoid, it generates an EM field
-
-/*
-when the core is turned on, it generates [creates] an electromagnetic field
-the em field attracts plasma, and suspends it in a controlled torus (doughnut) shape, oscillating around the core
-
-the field strength is directly controllable by the user
-field strength = sqrt(energy used by the field generator)
-
-the size of the EM field = field strength / k
-(k is an arbitrary constant to make the calculated size into tilewidths)
-
-1 tilewidth = below 5T
-3 tilewidth = between 5T and 12T
-5 tilewidth = between 10T and 25T
-7 tilewidth = between 20T and 50T
-(can't go higher than 40T)
-
-energy is added by a gyrotron, and lost when plasma escapes
-energy transferred from the gyrotron beams is reduced by how different the frequencies are (closer frequencies = more energy transferred)
-
-frequency = field strength * (stored energy / stored moles of plasma) * x
-(where x is an arbitrary constant to make the frequency something realistic)
-the gyrotron beams' frequency and energy are hardcapped low enough that they won't heat the plasma much
-
-energy is generated in considerable amounts by fusion reactions from injected particles
-fusion reactions only occur when the existing energy is above a certain level, and it's near the max operating level of the gyrotron. higher energy reactions only occur at higher energy levels
-a small amount of energy constantly bleeds off in the form of radiation
-
-the field is constantly pulling in plasma from the surrounding [local] atmosphere
-at random intervals, the field releases a random percentage of stored plasma in addition to a percentage of energy as intense radiation
-
-the amount of plasma is a percentage of the field strength, increased by frequency
-*/
-
-/*
-- VALUES -
-
-max volume of plasma storeable by the field = the total volume of a number of tiles equal to the (field tilewidth)^2
-
-*/
-
-#define MAX_FIELD_FREQ 1000
-#define MIN_FIELD_FREQ 1
-#define MAX_FIELD_STR 1000
-#define MIN_FIELD_STR 1
-
-/obj/machinery/power/rust_core
- name = "RUST Tokamak core"
- desc = "Enormous solenoid for generating extremely high power electromagnetic fields"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "core0"
- density = 1
- var/obj/effect/rust_em_field/owned_field
- var/field_strength = 1//0.01
- var/field_frequency = 1
- var/id_tag = "allan, don't forget to set the ID of this one too"
- req_access = list(access_engine)
- //
- use_power = 1
- idle_power_usage = 50
- active_power_usage = 500 //multiplied by field strength
- var/cached_power_avail = 0
- directwired = 1
- anchored = 0
-
- var/state = 0
- var/locked = 1
- var/remote_access_enabled = 1
-
-/obj/machinery/power/rust_core/process()
- if(stat & BROKEN || !powernet)
- Shutdown()
-
- cached_power_avail = avail()
- //luminosity = round(owned_field.field_strength/10)
- //luminosity = max(luminosity,1)
-
-/obj/machinery/power/rust_core/attackby(obj/item/W, mob/user)
-
- if(istype(W, /obj/item/weapon/wrench))
- if(owned_field)
- user << "Turn off [src] first."
- return
- switch(state)
- if(0)
- state = 1
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] secures [src.name] to the floor.", \
- "You secure the external reinforcing bolts to the floor.", \
- "You hear a ratchet")
- src.anchored = 1
- if(1)
- state = 0
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
- "You undo the external reinforcing bolts.", \
- "You hear a ratchet")
- src.anchored = 0
- if(2)
- user << "\red The [src.name] needs to be unwelded from the floor."
- return
-
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
- if(owned_field)
- user << "Turn off the [src] first."
- return
- switch(state)
- if(0)
- user << "\red The [src.name] needs to be wrenched to the floor."
- if(1)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
- "You start to weld the [src] to the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 2
- user << "You weld the [src] to the floor."
- connect_to_network()
- src.directwired = 1
- else
- user << "\red You need more welding fuel to complete this task."
- if(2)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
- "You start to cut the [src] free from the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 1
- user << "You cut the [src] free from the floor."
- disconnect_from_network()
- src.directwired = 0
- else
- user << "\red You need more welding fuel to complete this task."
- return
-
- if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
- if(emagged)
- user << "\red The lock seems to be broken"
- return
- if(src.allowed(user))
- if(owned_field)
- src.locked = !src.locked
- user << "The controls are now [src.locked ? "locked." : "unlocked."]"
- else
- src.locked = 0 //just in case it somehow gets locked
- user << "\red The controls can only be locked when the [src] is online"
- else
- user << "\red Access denied."
- return
-
- if(istype(W, /obj/item/weapon/card/emag) && !emagged)
- locked = 0
- emagged = 1
- user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
- return
-
- ..()
- return
-
-/obj/machinery/power/rust_core/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/power/rust_core/attack_hand(mob/user)
- add_fingerprint(user)
- interact(user)
-
-/obj/machinery/power/rust_core/interact(mob/user)
- if(stat & BROKEN)
- user.unset_machine()
- user << browse(null, "window=core_gen")
- return
- if(!istype(user, /mob/living/silicon) && get_dist(src, user) > 1)
- user.unset_machine()
- user << browse(null, "window=core_gen")
- return
-
- var/dat = ""
- if(stat & NOPOWER || locked || state != 2)
- dat += "The console is dark and nonresponsive."
- else
- dat += "RUST Tokamak pattern Electromagnetic Field Generator
"
- dat += "Device ID tag: [id_tag ? id_tag : "UNSET"] \[Modify\]
"
- dat += "\[[owned_field ? "Deactivate" : "Activate"]\]
"
- dat += "\[[remote_access_enabled ? "Disable remote access to this device" : "Enable remote access to this device"]\]
"
- dat += "
"
- dat += "Field strength: [field_strength]Wm^3
"
- dat += "\[----\] \
- \[--- \] \
- \[-- \] \
- \[- \] \
- \[+ \] \
- \[++ \] \
- \[+++ \] \
- \[++++\]
"
-
- dat += "Field frequency: [field_frequency]MHz
"
- dat += "\[----\] \
- \[--- \] \
- \[-- \] \
- \[- \] \
- \[+ \] \
- \[++ \] \
- \[+++ \] \
- \[++++\]
"
-
- var/font_colour = "green"
- if(cached_power_avail < active_power_usage)
- font_colour = "red"
- else if(cached_power_avail < active_power_usage * 2)
- font_colour = "orange"
- dat += "Power status: [active_power_usage]/[cached_power_avail] W
"
-
- user << browse(dat, "window=core_gen;size=500x300")
- onclose(user, "core_gen")
- user.set_machine(src)
-
-/obj/machinery/power/rust_core/Topic(href, href_list)
- if(href_list["str"])
- var/dif = text2num(href_list["str"])
- field_strength = min(max(field_strength + dif, MIN_FIELD_STR), MAX_FIELD_STR)
- active_power_usage = 5 * field_strength //change to 500 later
- if(owned_field)
- owned_field.ChangeFieldStrength(field_strength)
-
- if(href_list["freq"])
- var/dif = text2num(href_list["freq"])
- field_frequency = min(max(field_frequency + dif, MIN_FIELD_FREQ), MAX_FIELD_FREQ)
- if(owned_field)
- owned_field.ChangeFieldFrequency(field_frequency)
-
- if(href_list["toggle_active"])
- if(!Startup())
- Shutdown()
-
- if( href_list["toggle_remote"] )
- remote_access_enabled = !remote_access_enabled
-
- if(href_list["new_id_tag"])
- if(usr)
- id_tag = input("Enter a new ID tag", "Tokamak core ID tag", id_tag) as text|null
-
- if(href_list["close"])
- usr << browse(null, "window=core_gen")
- usr.unset_machine()
-
- if(href_list["extern_update"])
- var/obj/machinery/computer/rust_core_control/C = locate(href_list["extern_update"])
- if(C)
- C.updateDialog()
-
- src.updateDialog()
-
-/obj/machinery/power/rust_core/proc/Startup()
- if(owned_field)
- return
- owned_field = new(src.loc)
- owned_field.ChangeFieldStrength(field_strength)
- owned_field.ChangeFieldFrequency(field_frequency)
- icon_state = "core1"
- luminosity = 1
- use_power = 2
- return 1
-
-/obj/machinery/power/rust_core/proc/Shutdown()
- //todo: safety checks for field status
- if(owned_field)
- icon_state = "core0"
- del(owned_field)
- luminosity = 0
- use_power = 1
-
-/obj/machinery/power/rust_core/proc/AddParticles(var/name, var/quantity = 1)
- if(owned_field)
- owned_field.AddParticles(name, quantity)
- return 1
- return 0
-
-/obj/machinery/power/rust_core/bullet_act(var/obj/item/projectile/Proj)
- if(owned_field)
- return owned_field.bullet_act(Proj)
- return 0
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm
deleted file mode 100644
index d8ca364cb20..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm
+++ /dev/null
@@ -1,17 +0,0 @@
-
-/obj/item/weapon/fuel_assembly
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "fuel_assembly"
- name = "Fuel Rod Assembly"
- var/list/rod_quantities
- var/percent_depleted = 1
- layer = 3.1
- //
- New()
- rod_quantities = new/list
-
-//these can be abstracted away for now
-/*
-/obj/item/weapon/fuel_rod
-/obj/item/weapon/control_rod
-*/
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm
deleted file mode 100644
index 7c976ac9564..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-/obj/machinery/rust_fuel_assembly_port
- name = "Fuel Assembly Port"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "port2"
- density = 0
- var/obj/item/weapon/fuel_assembly/cur_assembly
- var/busy = 0
- anchored = 1
-
- var/opened = 1 //0=closed, 1=opened
- var/has_electronics = 0 // 0 - none, bit 1 - circuitboard, bit 2 - wires
-
-/obj/machinery/rust_fuel_assembly_port/attackby(var/obj/item/I, var/mob/user)
- if(istype(I,/obj/item/weapon/fuel_assembly) && !opened)
- if(cur_assembly)
- user << "\red There is already a fuel rod assembly in there!"
- else
- cur_assembly = I
- user.drop_item()
- I.loc = src
- icon_state = "port1"
- user << "\blue You insert [I] into [src]. Touch the panel again to insert [I] into the injector."
-
-/obj/machinery/rust_fuel_assembly_port/attack_hand(mob/user)
- add_fingerprint(user)
- if(stat & (BROKEN|NOPOWER) || opened)
- return
-
- if(cur_assembly)
- if(try_insert_assembly())
- user << "\blue \icon[src] [src] inserts it's fuel rod assembly into an injector."
- else
- if(eject_assembly())
- user << "\red \icon[src] [src] ejects it's fuel assembly. Check the fuel injector status."
- else if(try_draw_assembly())
- user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector."
- else if(try_draw_assembly())
- user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector."
- else
- user << "\red \icon[src] [src] was unable to draw a fuel rod assembly from an injector."
-
-/obj/machinery/rust_fuel_assembly_port/proc/try_insert_assembly()
- var/success = 0
- if(cur_assembly)
- var/turf/check_turf = get_step(get_turf(src), src.dir)
- check_turf = get_step(check_turf, src.dir)
- for(var/obj/machinery/power/rust_fuel_injector/I in check_turf)
- if(I.stat & (BROKEN|NOPOWER))
- break
- if(I.cur_assembly)
- break
- if(I.state != 2)
- break
-
- I.cur_assembly = cur_assembly
- cur_assembly.loc = I
- cur_assembly = null
- icon_state = "port0"
- success = 1
-
- return success
-
-/obj/machinery/rust_fuel_assembly_port/proc/eject_assembly()
- if(cur_assembly)
- cur_assembly.loc = src.loc//get_step(get_turf(src), src.dir)
- cur_assembly = null
- icon_state = "port0"
- return 1
-
-/obj/machinery/rust_fuel_assembly_port/proc/try_draw_assembly()
- var/success = 0
- if(!cur_assembly)
- var/turf/check_turf = get_step(get_turf(src), src.dir)
- check_turf = get_step(check_turf, src.dir)
- for(var/obj/machinery/power/rust_fuel_injector/I in check_turf)
- if(I.stat & (BROKEN|NOPOWER))
- break
- if(!I.cur_assembly)
- break
- if(I.injecting)
- break
- if(I.state != 2)
- break
-
- cur_assembly = I.cur_assembly
- cur_assembly.loc = src
- I.cur_assembly = null
- icon_state = "port1"
- success = 1
- break
-
- return success
-
-/obj/machinery/rust_fuel_assembly_port/verb/eject_assembly_verb()
- set name = "Eject assembly from port"
- set category = "Object"
- set src in oview(1)
-
- eject_assembly()
-
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
deleted file mode 100644
index b012d1c360e..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm
+++ /dev/null
@@ -1,133 +0,0 @@
-
-//frame assembly
-
-/obj/item/rust_fuel_assembly_port_frame
- name = "Fuel Assembly Port frame"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "port2"
- w_class = 4
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 )
- del(src)
- return
- ..()
-
-/obj/item/rust_fuel_assembly_port_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
- var/ndir = get_dir(usr,on_wall)
- if (!(ndir in cardinal))
- return
- var/turf/loc = get_turf(usr)
- var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "\red Port cannot be placed on this spot."
- return
- if (A.requires_power == 0 || A.name == "Space")
- usr << "\red Port cannot be placed in this area."
- return
- new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1)
- del(src)
-
-//construction steps
-/obj/machinery/rust_fuel_assembly_port/New(turf/loc, var/ndir, var/building=0)
- ..()
-
- // offset 24 pixels in direction of dir
- // this allows the APC to be embedded in a wall, yet still inside an area
- if (building)
- dir = ndir
- else
- has_electronics = 3
- opened = 0
- icon_state = "port0"
-
- //20% easier to read than apc code
- pixel_x = (dir & 3)? 0 : (dir == 4 ? 32 : -32)
- pixel_y = (dir & 3)? (dir ==1 ? 32 : -32) : 0
-
-/obj/machinery/rust_fuel_assembly_port/attackby(obj/item/W, mob/user)
-
- if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
- return src.attack_hand(user)
- if (istype(W, /obj/item/weapon/crowbar))
- if(opened)
- if(has_electronics & 1)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "You begin removing the circuitboard" //lpeters - fixed grammar issues
- if(do_after(user, 50))
- user.visible_message(\
- "\red [user.name] has removed the circuitboard from [src.name]!",\
- "\blue You remove the circuitboard.")
- has_electronics = 0
- new /obj/item/weapon/module/rust_fuel_port(loc)
- has_electronics &= ~1
- else
- opened = 0
- icon_state = "port0"
- user << "\blue You close the maintenance cover."
- else
- if(cur_assembly)
- user << "\red You cannot open the cover while there is a fuel assembly inside."
- else
- opened = 1
- user << "\blue You open the maintenance cover."
- icon_state = "port2"
- return
-
- else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
- var/obj/item/stack/cable_coil/C = W
- if(C.amount < 10)
- user << "\red You need more wires."
- return
- user << "You start adding cables to the frame..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 20) && C.amount >= 10)
- C.use(10)
- user.visible_message(\
- "\red [user.name] has added cables to the port frame!",\
- "You add cables to the port frame.")
- has_electronics &= 2
- return
-
- else if (istype(W, /obj/item/weapon/wirecutters) && opened && (has_electronics & 2))
- user << "You begin to cut the cables..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 50))
- new /obj/item/stack/cable_coil(loc,10)
- user.visible_message(\
- "\red [user.name] cut the cabling inside the port.",\
- "You cut the cabling inside the port.")
- has_electronics &= ~2
- return
-
- else if (istype(W, /obj/item/weapon/module/rust_fuel_port) && opened && !(has_electronics & 1))
- user << "You trying to insert the port control board into the frame..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 10))
- has_electronics &= 1
- user << "You place the port control board inside the frame."
- del(W)
- return
-
- else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
- var/obj/item/weapon/weldingtool/WT = W
- if (WT.get_fuel() < 3)
- user << "\blue You need more welding fuel to complete this task."
- return
- user << "You start welding the port frame..."
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 50))
- if(!src || !WT.remove_fuel(3, user)) return
- new /obj/item/rust_fuel_assembly_port_frame(loc)
- user.visible_message(\
- "\red [src] has been cut away from the wall by [user.name].",\
- "You detached the port frame.",\
- "\red You hear welding.")
- del(src)
- return
-
- ..()
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm
deleted file mode 100644
index 526742aac94..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm
+++ /dev/null
@@ -1,116 +0,0 @@
-var/const/max_assembly_amount = 300
-
-/obj/machinery/rust_fuel_compressor
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "fuel_compressor1"
- name = "Fuel Compressor"
- var/list/new_assembly_quantities = list("Deuterium" = 150,"Tritium" = 150,"Rodinium-6" = 0,"Stravium-7" = 0, "Pergium" = 0, "Dilithium" = 0)
- var/compressed_matter = 0
- anchored = 1
- layer = 2.9
-
- var/opened = 1 //0=closed, 1=opened
- var/locked = 0
- var/has_electronics = 0 // 0 - none, bit 1 - circuitboard, bit 2 - wires
-
-/obj/machinery/rust_fuel_compressor/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/rust_fuel_compressor/attack_hand(mob/user)
- add_fingerprint(user)
- /*if(stat & (BROKEN|NOPOWER))
- return*/
- interact(user)
-
-/obj/machinery/rust_fuel_compressor/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/rcd_ammo))
- compressed_matter += 10
- del(W)
- return
- ..()
-
-/obj/machinery/rust_fuel_compressor/interact(mob/user)
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.unset_machine()
- user << browse(null, "window=fuelcomp")
- return
-
- var/t = "Reactor Fuel Rod Compressor / Assembler
"
- t += "Close
"
- if(locked)
- t += "Swipe your ID to unlock this console."
- else
- t += "Compressed matter in storage: [compressed_matter] \[Eject all\]
"
- t += "Activate Fuel Synthesis
(fuel assemblies require no more than [max_assembly_amount] rods).
"
- t += "
"
- t += "- New fuel assembly constituents:-
"
- for(var/reagent in new_assembly_quantities)
- t += " [reagent] rods: [new_assembly_quantities[reagent]] \[Modify\]
"
- t += "
"
- t += "Close
"
-
- user << browse(t, "window=fuelcomp;size=500x300")
- user.set_machine(src)
-
- //var/locked
- //var/coverlocked
-
-/obj/machinery/rust_fuel_compressor/Topic(href, href_list)
- ..()
- if( href_list["close"] )
- usr << browse(null, "window=fuelcomp")
- usr.machine = null
-
- if( href_list["eject_matter"] )
- var/ejected = 0
- while(compressed_matter > 10)
- new /obj/item/weapon/rcd_ammo(get_step(get_turf(src), src.dir))
- compressed_matter -= 10
- ejected = 1
- if(ejected)
- usr << "\blue \icon[src] [src] ejects some compressed matter units."
- else
- usr << "\red \icon[src] there are no more compressed matter units in [src]."
-
- if( href_list["activate"] )
- //world << "\blue New fuel rod assembly"
- var/obj/item/weapon/fuel_assembly/F = new(src)
- var/fail = 0
- var/old_matter = compressed_matter
- for(var/reagent in new_assembly_quantities)
- var/req_matter = round(new_assembly_quantities[reagent] / 30)
- //world << "[reagent] matter: [req_matter]/[compressed_matter]"
- if(req_matter <= compressed_matter)
- F.rod_quantities[reagent] = new_assembly_quantities[reagent]
- compressed_matter -= req_matter
- if(compressed_matter < 1)
- compressed_matter = 0
- else
- /*world << "bad reagent: [reagent], [req_matter > compressed_matter ? "req_matter > compressed_matter"\
- : (req_matter < compressed_matter ? "req_matter < compressed_matter" : "req_matter == compressed_matter")]"*/
- fail = 1
- break
- //world << "\blue [reagent]: new_assembly_quantities[reagent]
"
- if(fail)
- del(F)
- compressed_matter = old_matter
- usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'"
- else
- F.loc = src.loc//get_step(get_turf(src), src.dir)
- F.percent_depleted = 0
- if(compressed_matter < 0.034)
- compressed_matter = 0
-
- if( href_list["change_reagent"] )
- var/cur_reagent = href_list["change_reagent"]
- var/avail_rods = 300
- for(var/rod in new_assembly_quantities)
- avail_rods -= new_assembly_quantities[rod]
- avail_rods += new_assembly_quantities[cur_reagent]
- avail_rods = max(avail_rods, 0)
-
- var/new_amount = min(input("Enter new [cur_reagent] rod amount (max [avail_rods])", "Fuel Assembly Rod Composition ([cur_reagent])") as num, avail_rods)
- new_assembly_quantities[cur_reagent] = new_amount
-
- updateDialog()
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
deleted file mode 100644
index fab9eb87d5c..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm
+++ /dev/null
@@ -1,160 +0,0 @@
-
-//frame assembly
-
-/obj/item/rust_fuel_compressor_frame
- name = "Fuel Compressor frame"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "fuel_compressor0"
- w_class = 4
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 )
- del(src)
- return
- ..()
-
-/obj/item/rust_fuel_compressor_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
- var/ndir = get_dir(usr,on_wall)
- if (!(ndir in cardinal))
- return
- var/turf/loc = get_turf(usr)
- var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "\red Compressor cannot be placed on this spot."
- return
- if (A.requires_power == 0 || A.name == "Space")
- usr << "\red Compressor cannot be placed in this area."
- return
- new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1)
- del(src)
-
-//construction steps
-/obj/machinery/rust_fuel_compressor/New(turf/loc, var/ndir, var/building=0)
- ..()
-
- // offset 24 pixels in direction of dir
- // this allows the APC to be embedded in a wall, yet still inside an area
- if (building)
- dir = ndir
- else
- has_electronics = 3
- opened = 0
- locked = 0
- icon_state = "fuel_compressor1"
-
- //20% easier to read than apc code
- pixel_x = (dir & 3)? 0 : (dir == 4 ? 32 : -32)
- pixel_y = (dir & 3)? (dir ==1 ? 32 : -32) : 0
-
-/obj/machinery/rust_fuel_compressor/attackby(obj/item/W, mob/user)
-
- if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
- return src.attack_hand(user)
- if (istype(W, /obj/item/weapon/crowbar))
- if(opened)
- if(has_electronics & 1)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "You begin removing the circuitboard" //lpeters - fixed grammar issues
- if(do_after(user, 50))
- user.visible_message(\
- "\red [user.name] has removed the circuitboard from [src.name]!",\
- "\blue You remove the circuitboard board.")
- has_electronics = 0
- new /obj/item/weapon/module/rust_fuel_compressor(loc)
- has_electronics &= ~1
- else
- opened = 0
- icon_state = "fuel_compressor0"
- user << "\blue You close the maintenance cover."
- else
- if(compressed_matter > 0)
- user << "\red You cannot open the cover while there is compressed matter inside."
- else
- opened = 1
- user << "\blue You open the maintenance cover."
- icon_state = "fuel_compressor1"
- return
-
- else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card
- if(opened)
- user << "You must close the cover to swipe an ID card."
- else
- if(src.allowed(usr))
- locked = !locked
- user << "You [ locked ? "lock" : "unlock"] the compressor interface."
- update_icon()
- else
- user << "\red Access denied."
- return
-
- else if (istype(W, /obj/item/weapon/card/emag) && !emagged) // trying to unlock with an emag card
- if(opened)
- user << "You must close the cover to swipe an ID card."
- else
- flick("apc-spark", src)
- if (do_after(user,6))
- if(prob(50))
- emagged = 1
- locked = 0
- user << "You emag the port interface."
- else
- user << "You fail to [ locked ? "unlock" : "lock"] the compressor interface."
- return
-
- else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
- var/obj/item/stack/cable_coil/C = W
- if(C.amount < 10)
- user << "\red You need more wires."
- return
- user << "You start adding cables to the compressor frame..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 20) && C.amount >= 10)
- C.use(10)
- user.visible_message(\
- "\red [user.name] has added cables to the compressor frame!",\
- "You add cables to the port frame.")
- has_electronics &= 2
- return
-
- else if (istype(W, /obj/item/weapon/wirecutters) && opened && (has_electronics & 2))
- user << "You begin to cut the cables..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 50))
- new /obj/item/stack/cable_coil(loc,10)
- user.visible_message(\
- "\red [user.name] cut the cabling inside the compressor.",\
- "You cut the cabling inside the port.")
- has_electronics &= ~2
- return
-
- else if (istype(W, /obj/item/weapon/module/rust_fuel_compressor) && opened && !(has_electronics & 1))
- user << "You trying to insert the circuitboard into the frame..."
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 10))
- has_electronics &= 1
- user << "You place the circuitboard inside the frame."
- del(W)
- return
-
- else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
- var/obj/item/weapon/weldingtool/WT = W
- if (WT.get_fuel() < 3)
- user << "\blue You need more welding fuel to complete this task."
- return
- user << "You start welding the compressor frame..."
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 50))
- if(!src || !WT.remove_fuel(3, user)) return
- new /obj/item/rust_fuel_assembly_port_frame(loc)
- user.visible_message(\
- "\red [src] has been cut away from the wall by [user.name].",\
- "You detached the compressor frame.",\
- "\red You hear welding.")
- del(src)
- return
-
- ..()
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm
deleted file mode 100644
index 17c8fccfc71..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm
+++ /dev/null
@@ -1,192 +0,0 @@
-
-/obj/machinery/computer/rust_fuel_control
- name = "RUST Fuel Injection Control"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "fuel"
- var/list/connected_injectors = list()
- var/list/active_stages = list()
- var/list/proceeding_stages = list()
- var/list/stage_times = list()
- //var/list/stage_status
- var/announce_fueldepletion = 0
- var/announce_stageprogression = 0
- var/scan_range = 25
- var/ticks_this_stage = 0
-
-/*/obj/machinery/computer/rust_fuel_control/New()
- ..()
- //these are the only three stages we can accept
- //we have another console for SCRAM
- fuel_injectors = new/list
- stage_status = new/list
-
- fuel_injectors.Add("One")
- fuel_injectors["One"] = new/list
- stage_status.Add("One")
- stage_status["One"] = 0
- fuel_injectors.Add("Two")
- fuel_injectors["Two"] = new/list
- stage_status.Add("Two")
- stage_status["Two"] = 0
- fuel_injectors.Add("Three")
- fuel_injectors["Three"] = new/list
- stage_status.Add("Three")
- stage_status["Three"] = 0
- fuel_injectors.Add("SCRAM")
- fuel_injectors["SCRAM"] = new/list
- stage_status.Add("SCRAM")
- stage_status["SCRAM"] = 0
-
- spawn(0)
- for(var/obj/machinery/power/rust_fuel_injector/Injector in world)
- if(Injector.stage in fuel_injectors)
- var/list/targetlist = fuel_injectors[Injector.stage]
- targetlist.Add(Injector)*/
-
-/obj/machinery/computer/rust_fuel_control/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/computer/rust_fuel_control/attack_hand(mob/user)
- add_fingerprint(user)
- interact(user)
-
-/obj/machinery/computer/rust_fuel_control/interact(mob/user)
- if(stat & (BROKEN|NOPOWER))
- user.unset_machine()
- user << browse(null, "window=fuel_control")
- return
-
- if (!istype(user, /mob/living/silicon) && get_dist(src, user) > 1)
- user.unset_machine()
- user << browse(null, "window=fuel_control")
- return
-
- var/dat = "Reactor Core Fuel Control
"
- /*dat += "Fuel depletion announcement: "
- dat += "[announce_fueldepletion == 0 ? "Disabled" : "\[Disable\]"] "
- dat += "[announce_fueldepletion == 1 ? "Announcing" : "\[Announce\]"] "
- dat += "[announce_fueldepletion == 2 ? "Broadcasting" : "\[Broadcast\]"]
"
- dat += "Stage progression announcement: "
- dat += "[announce_stageprogression == 0 ? "Disabled" : "\[Disable\]"] "
- dat += "[announce_stageprogression == 1 ? "Announcing" : "\[Announce\]"] "
- dat += "[announce_stageprogression == 2 ? "Broadcasting" : "\[Broadcast\]"]
"*/
- dat += "
"
-
- dat += "Detected devices \[Refresh list\]"
- dat += ""
-
- dat += "
"
- dat += "Refresh "
- dat += "Close
"
- user << browse(dat, "window=fuel_control;size=800x400")
- user.set_machine(src)
-
-/obj/machinery/computer/rust_fuel_control/Topic(href, href_list)
- ..()
-
- if( href_list["scan"] )
- connected_injectors = list()
- for(var/obj/machinery/power/rust_fuel_injector/I in range(scan_range, src))
- if(check_injector_status(I))
- connected_injectors.Add(I)
-
- if( href_list["toggle_stage"] )
- var/cur_stage = href_list["toggle_stage"]
- if(active_stages.Find(cur_stage))
- active_stages.Remove(cur_stage)
- for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors)
- if(I.id_tag == cur_stage && check_injector_status(I))
- I.StopInjecting()
- else
- active_stages.Add(cur_stage)
- for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors)
- if(I.id_tag == cur_stage && check_injector_status(I))
- I.BeginInjecting()
-
- if( href_list["cooldown"] )
- for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors)
- if(check_injector_status(I))
- I.StopInjecting()
- active_stages = list()
-
- if( href_list["warmup"] )
- for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors)
- if(check_injector_status(I))
- I.BeginInjecting()
- if(!active_stages.Find(I.id_tag))
- active_stages.Add(I.id_tag)
-
- if( href_list["stage_time"] )
- var/cur_stage = href_list["stage_time"]
- var/new_duration = input("Enter new stage duration in seconds", "Stage duration") as num
- if(new_duration)
- stage_times[cur_stage] = new_duration
- else if(stage_times.Find(cur_stage))
- stage_times.Remove(cur_stage)
-
- if( href_list["announce_fueldepletion"] )
- announce_fueldepletion = text2num(href_list["announce_fueldepletion"])
-
- if( href_list["announce_stageprogression"] )
- announce_stageprogression = text2num(href_list["announce_stageprogression"])
-
- if( href_list["close"] )
- usr << browse(null, "window=fuel_control")
- usr.unset_machine()
-
- if( href_list["set_next_stage"] )
- var/cur_stage = href_list["set_next_stage"]
- if(!proceeding_stages.Find(cur_stage))
- proceeding_stages.Add(cur_stage)
- var/next_stage = input("Enter next stage ID", "Automated stage procession") as text|null
- if(next_stage)
- proceeding_stages[cur_stage] = next_stage
- else
- proceeding_stages.Remove(cur_stage)
-
- updateDialog()
-
-/obj/machinery/computer/rust_fuel_control/proc/check_injector_status(var/obj/machinery/power/rust_fuel_injector/I)
- if(!I)
- return 0
-
- if(I.stat & (BROKEN|NOPOWER) || !I.remote_access_enabled || !I.id_tag)
- if(connected_injectors.Find(I))
- connected_injectors.Remove(I)
- return 0
-
- return 1
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm
deleted file mode 100644
index 5047ab1a5d1..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm
+++ /dev/null
@@ -1,308 +0,0 @@
-
-/obj/machinery/power/rust_fuel_injector
- name = "Fuel Injector"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "injector0"
-
- density = 1
- anchored = 0
- var/state = 0
- var/locked = 0
- req_access = list(access_engine)
-
- var/obj/item/weapon/fuel_assembly/cur_assembly
- var/fuel_usage = 0.0001 //percentage of available fuel to use per cycle
- var/id_tag = "One"
- var/injecting = 0
- var/trying_to_swap_fuel = 0
-
- use_power = 1
- idle_power_usage = 10
- active_power_usage = 500
- directwired = 0
- var/remote_access_enabled = 1
- var/cached_power_avail = 0
- var/emergency_insert_ready = 0
-
-/obj/machinery/power/rust_fuel_injector/process()
- if(injecting)
- if(stat & (BROKEN|NOPOWER))
- StopInjecting()
- else
- Inject()
-
- cached_power_avail = avail()
-
-/obj/machinery/power/rust_fuel_injector/attackby(obj/item/W, mob/user)
-
- if(istype(W, /obj/item/weapon/wrench))
- if(injecting)
- user << "Turn off the [src] first."
- return
- switch(state)
- if(0)
- state = 1
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] secures [src.name] to the floor.", \
- "You secure the external reinforcing bolts to the floor.", \
- "You hear a ratchet")
- src.anchored = 1
- if(1)
- state = 0
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
- "You undo the external reinforcing bolts.", \
- "You hear a ratchet")
- src.anchored = 0
- if(2)
- user << "\red The [src.name] needs to be unwelded from the floor."
- return
-
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
- if(injecting)
- user << "Turn off the [src] first."
- return
- switch(state)
- if(0)
- user << "\red The [src.name] needs to be wrenched to the floor."
- if(1)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
- "You start to weld the [src] to the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 2
- user << "You weld the [src] to the floor."
- connect_to_network()
- //src.directwired = 1
- else
- user << "\red You need more welding fuel to complete this task."
- if(2)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
- "You start to cut the [src] free from the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 1
- user << "You cut the [src] free from the floor."
- disconnect_from_network()
- //src.directwired = 0
- else
- user << "\red You need more welding fuel to complete this task."
- return
-
- if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
- if(emagged)
- user << "\red The lock seems to be broken"
- return
- if(src.allowed(user))
- src.locked = !src.locked
- user << "The controls are now [src.locked ? "locked." : "unlocked."]"
- else
- user << "\red Access denied."
- return
-
- if(istype(W, /obj/item/weapon/card/emag) && !emagged)
- locked = 0
- emagged = 1
- user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
- return
-
- if(istype(W, /obj/item/weapon/fuel_assembly) && !cur_assembly)
- if(emergency_insert_ready)
- cur_assembly = W
- user.drop_item()
- W.loc = src
- emergency_insert_ready = 0
- return
-
- ..()
- return
-
-/obj/machinery/power/rust_fuel_injector/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/power/rust_fuel_injector/attack_hand(mob/user)
- add_fingerprint(user)
- interact(user)
-
-/obj/machinery/power/rust_fuel_injector/interact(mob/user)
- if(stat & BROKEN)
- user.unset_machine()
- user << browse(null, "window=fuel_injector")
- return
- if(get_dist(src, user) > 1 )
- if (!istype(user, /mob/living/silicon))
- user.unset_machine()
- user << browse(null, "window=fuel_injector")
- return
-
- var/dat = ""
- if (stat & NOPOWER || locked || state != 2)
- dat += "The console is dark and nonresponsive."
- else
- dat += "Reactor Core Fuel Injector
"
- dat += "Device ID tag: [id_tag] \[Modify\]
"
- dat += "Status: [injecting ? "Active \[Disable\]" : "Standby \[Enable\]"]
"
- dat += "Fuel usage: [fuel_usage*100]% \[Modify\]
"
- dat += "Fuel assembly port: "
- dat += "\[[cur_assembly ? "Eject assembly to port" : "Draw assembly from port"]\] "
- if(cur_assembly)
- dat += "\[Emergency eject\]
"
- else
- dat += "\[[emergency_insert_ready ? "Cancel emergency insertion" : "Emergency insert"]\]
"
- var/font_colour = "green"
- if(cached_power_avail < active_power_usage)
- font_colour = "red"
- else if(cached_power_avail < active_power_usage * 2)
- font_colour = "orange"
- dat += "Power status: [active_power_usage]/[cached_power_avail] W
"
- dat += "\[[remote_access_enabled ? "Disable remote access" : "Enable remote access"]\]
"
-
- dat += "
"
- dat += "Refresh "
- dat += "Close
"
-
- user << browse(dat, "window=fuel_injector;size=500x300")
- onclose(user, "fuel_injector")
- user.set_machine(src)
-
-/obj/machinery/power/rust_fuel_injector/Topic(href, href_list)
- ..()
-
- if( href_list["modify_tag"] )
- id_tag = input("Enter new ID tag", "Modifying ID tag") as text|null
-
- if( href_list["fuel_assembly"] )
- attempt_fuel_swap()
-
- if( href_list["emergency_fuel_assembly"] )
- if(cur_assembly)
- cur_assembly.loc = src.loc
- cur_assembly = null
- //irradiate!
- else
- emergency_insert_ready = !emergency_insert_ready
-
- if( href_list["toggle_injecting"] )
- if(injecting)
- StopInjecting()
- else
- BeginInjecting()
-
- if( href_list["toggle_remote"] )
- remote_access_enabled = !remote_access_enabled
-
- if( href_list["fuel_usage"] )
- var/new_usage = text2num(input("Enter new fuel usage (0.01% - 100%)", "Modifying fuel usage", fuel_usage * 100))
- if(!new_usage)
- usr << "\red That's not a valid number."
- return
- new_usage = max(new_usage, 0.01)
- new_usage = min(new_usage, 100)
- fuel_usage = new_usage / 100
- active_power_usage = 500 + 1000 * fuel_usage
-
- if( href_list["update_extern"] )
- var/obj/machinery/computer/rust_fuel_control/C = locate(href_list["update_extern"])
- if(C)
- C.updateDialog()
-
- if( href_list["close"] )
- usr << browse(null, "window=fuel_injector")
- usr.unset_machine()
-
- updateDialog()
-
-/obj/machinery/power/rust_fuel_injector/proc/BeginInjecting()
- if(!injecting && cur_assembly)
- icon_state = "injector1"
- injecting = 1
- use_power = 1
-
-/obj/machinery/power/rust_fuel_injector/proc/StopInjecting()
- if(injecting)
- injecting = 0
- icon_state = "injector0"
- use_power = 0
-
-/obj/machinery/power/rust_fuel_injector/proc/Inject()
- if(!injecting)
- return
- if(cur_assembly)
- var/amount_left = 0
- for(var/reagent in cur_assembly.rod_quantities)
- //world << "checking [reagent]"
- if(cur_assembly.rod_quantities[reagent] > 0)
- //world << " rods left: [cur_assembly.rod_quantities[reagent]]"
- var/amount = cur_assembly.rod_quantities[reagent] * fuel_usage
- var/numparticles = round(amount * 1000)
- if(numparticles < 1)
- numparticles = 1
- //world << " amount: [amount]"
- //world << " numparticles: [numparticles]"
- //
-
- var/obj/effect/accelerated_particle/A = new/obj/effect/accelerated_particle(get_turf(src), dir)
- A.particle_type = reagent
- A.additional_particles = numparticles - 1
- //A.target = target_field
- //
- cur_assembly.rod_quantities[reagent] -= amount
- amount_left += cur_assembly.rod_quantities[reagent]
- cur_assembly.percent_depleted = amount_left / 300
- flick("injector-emitting",src)
- else
- StopInjecting()
-
-/obj/machinery/power/rust_fuel_injector/proc/attempt_fuel_swap()
- var/rev_dir = reverse_direction(dir)
- var/turf/mid = get_step(src, rev_dir)
- var/success = 0
- for(var/obj/machinery/rust_fuel_assembly_port/check_port in get_step(mid, rev_dir))
- if(cur_assembly)
- if(!check_port.cur_assembly)
- check_port.cur_assembly = cur_assembly
- cur_assembly.loc = check_port
- cur_assembly = null
- check_port.icon_state = "port1"
- success = 1
- else
- if(check_port.cur_assembly)
- cur_assembly = check_port.cur_assembly
- cur_assembly.loc = src
- check_port.cur_assembly = null
- check_port.icon_state = "port0"
- success = 1
-
- break
- if(success)
- src.visible_message("\blue \icon[src] a green light flashes on [src].")
- updateDialog()
- else
- src.visible_message("\red \icon[src] a red light flashes on [src].")
-
-/obj/machinery/power/rust_fuel_injector/verb/rotate_clock()
- set category = "Object"
- set name = "Rotate Generator (Clockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
-
- src.dir = turn(src.dir, 90)
-
-/obj/machinery/power/rust_fuel_injector/verb/rotate_anticlock()
- set category = "Object"
- set name = "Rotate Generator (Counterclockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
-
- src.dir = turn(src.dir, -90)
\ No newline at end of file
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm
deleted file mode 100644
index 8293e060f41..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm
+++ /dev/null
@@ -1,160 +0,0 @@
-
-datum/fusion_reaction
- var/primary_reactant = ""
- var/secondary_reactant = ""
- var/energy_consumption = 0
- var/energy_production = 0
- var/radiation = 0
- var/list/products = list()
-
-/datum/controller/game_controller/var/list/fusion_reactions
-
-proc/get_fusion_reaction(var/primary_reactant, var/secondary_reactant)
- if(!master_controller.fusion_reactions)
- populate_fusion_reactions()
- if(master_controller.fusion_reactions.Find(primary_reactant))
- var/list/secondary_reactions = master_controller.fusion_reactions[primary_reactant]
- if(secondary_reactions.Find(secondary_reactant))
- return master_controller.fusion_reactions[primary_reactant][secondary_reactant]
-
-proc/populate_fusion_reactions()
- if(!master_controller.fusion_reactions)
- master_controller.fusion_reactions = list()
- for(var/cur_reaction_type in typesof(/datum/fusion_reaction) - /datum/fusion_reaction)
- var/datum/fusion_reaction/cur_reaction = new cur_reaction_type()
- if(!master_controller.fusion_reactions[cur_reaction.primary_reactant])
- master_controller.fusion_reactions[cur_reaction.primary_reactant] = list()
- master_controller.fusion_reactions[cur_reaction.primary_reactant][cur_reaction.secondary_reactant] = cur_reaction
- if(!master_controller.fusion_reactions[cur_reaction.secondary_reactant])
- master_controller.fusion_reactions[cur_reaction.secondary_reactant] = list()
- master_controller.fusion_reactions[cur_reaction.secondary_reactant][cur_reaction.primary_reactant] = cur_reaction
-
-//Fake elements and fake reactions, but its nicer gameplay-wise
-//Deuterium
-//Tritium
-//Uridium-3
-//Obdurium
-//Solonium
-//Rodinium-6
-//Dilithium
-//Trilithium
-//Pergium
-//Stravium-7
-
-//Primary Production Reactions
-
-datum/fusion_reaction/tritium_deuterium
- primary_reactant = "Tritium"
- secondary_reactant = "Deuterium"
- energy_consumption = 1
- energy_production = 5
- radiation = 0
-
-//Secondary Production Reactions
-
-datum/fusion_reaction/deuterium_deuterium
- primary_reactant = "Deuterium"
- secondary_reactant = "Deuterium"
- energy_consumption = 1
- energy_production = 4
- radiation = 1
- products = list("Obdurium" = 2)
-
-datum/fusion_reaction/tritium_tritium
- primary_reactant = "Tritium"
- secondary_reactant = "Tritium"
- energy_consumption = 1
- energy_production = 4
- radiation = 1
- products = list("Solonium" = 2)
-
-//Cleanup Reactions
-
-datum/fusion_reaction/rodinium6_obdurium
- primary_reactant = "Rodinium-6"
- secondary_reactant = "Obdurium"
- energy_consumption = 1
- energy_production = 2
- radiation = 2
-
-datum/fusion_reaction/rodinium6_solonium
- primary_reactant = "Rodinium-6"
- secondary_reactant = "Solonium"
- energy_consumption = 1
- energy_production = 2
- radiation = 2
-
-//Breeder Reactions
-
-datum/fusion_reaction/dilithium_obdurium
- primary_reactant = "Dilithium"
- secondary_reactant = "Obdurium"
- energy_consumption = 1
- energy_production = 1
- radiation = 3
- products = list("Deuterium" = 1, "Dilithium" = 1)
-
-datum/fusion_reaction/dilithium_solonium
- primary_reactant = "Dilithium"
- secondary_reactant = "Solonium"
- energy_consumption = 1
- energy_production = 1
- radiation = 3
- products = list("Tritium" = 1, "Dilithium" = 1)
-
-//Breeder Inhibitor Reactions
-
-datum/fusion_reaction/stravium7_dilithium
- primary_reactant = "Stravium-7"
- secondary_reactant = "Dilithium"
- energy_consumption = 2
- energy_production = 1
- radiation = 4
-
-//Enhanced Breeder Reactions
-
-datum/fusion_reaction/trilithium_obdurium
- primary_reactant = "Trilithium"
- secondary_reactant = "Obdurium"
- energy_consumption = 1
- energy_production = 2
- radiation = 5
- products = list("Dilithium" = 1, "Trilithium" = 1, "Deuterium" = 1)
-
-datum/fusion_reaction/trilithium_solonium
- primary_reactant = "Trilithium"
- secondary_reactant = "Solonium"
- energy_consumption = 1
- energy_production = 2
- radiation = 5
- products = list("Dilithium" = 1, "Trilithium" = 1, "Tritium" = 1)
-
-//Control Reactions
-
-datum/fusion_reaction/pergium_deuterium
- primary_reactant = "Pergium"
- secondary_reactant = "Deuterium"
- energy_consumption = 5
- energy_production = 0
- radiation = 5
-
-datum/fusion_reaction/pergium_tritium
- primary_reactant = "Pergium"
- secondary_reactant = "Tritium"
- energy_consumption = 5
- energy_production = 0
- radiation = 5
-
-datum/fusion_reaction/pergium_obdurium
- primary_reactant = "Pergium"
- secondary_reactant = "Obdurium"
- energy_consumption = 5
- energy_production = 0
- radiation = 5
-
-datum/fusion_reaction/pergium_solonium
- primary_reactant = "Pergium"
- secondary_reactant = "Solonium"
- energy_consumption = 5
- energy_production = 0
- radiation = 5
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm b/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm
deleted file mode 100644
index 74a36cfee11..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm
+++ /dev/null
@@ -1,186 +0,0 @@
-
-//high frequency photon (laser beam)
-/obj/item/projectile/beam/ehf_beam
-
-/obj/machinery/rust/gyrotron
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "emitter-off"
- name = "Gyrotron"
- anchored = 1
- density = 0
- layer = 4
- var/frequency = 1
- var/emitting = 0
- var/rate = 10
- var/mega_energy = 0.001
- var/on = 1
- var/remoteenabled = 1
- //
- req_access = list(access_engine)
- //
- use_power = 1
- idle_power_usage = 10
- active_power_usage = 300
-
- New()
- ..()
- //pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24)
- //pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0
-
- Topic(href, href_list)
- ..()
- if( href_list["close"] )
- usr << browse(null, "window=gyro_monitor")
- usr.machine = null
- return
- if( href_list["modifypower"] )
- var/new_val = text2num(input("Enter new emission power level (0.001 - 0.01)", "Modifying power level (MeV)", mega_energy))
- if(!new_val)
- usr << "\red That's not a valid number."
- return
- new_val = min(new_val,0.01)
- new_val = max(new_val,0.001)
- mega_energy = new_val
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["modifyrate"] )
- var/new_val = text2num(input("Enter new emission rate (1 - 10)", "Modifying emission rate (sec)", rate))
- if(!new_val)
- usr << "\red That's not a valid number."
- return
- new_val = min(new_val,1)
- new_val = max(new_val,10)
- rate = new_val
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["modifyfreq"] )
- var/new_val = text2num(input("Enter new emission frequency (1 - 50000)", "Modifying emission frequency (GHz)", frequency))
- if(!new_val)
- usr << "\red That's not a valid number."
- return
- new_val = min(new_val,1)
- new_val = max(new_val,50000)
- frequency = new_val
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["activate"] )
- emitting = 1
- spawn(rate)
- Emit()
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["deactivate"] )
- emitting = 0
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["enableremote"] )
- remoteenabled = 1
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
- if( href_list["disableremote"] )
- remoteenabled = 0
- for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25))
- comp.updateDialog()
- return
-/*
- var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc )
- playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1)
- if(prob(35))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(5, 1, src)
- s.start()
- A.dir = src.dir
- if(src.dir == 1)//Up
- A.yo = 20
- A.xo = 0
- else if(src.dir == 2)//Down
- A.yo = -20
- A.xo = 0
- else if(src.dir == 4)//Right
- A.yo = 0
- A.xo = 20
- else if(src.dir == 8)//Left
- A.yo = 0
- A.xo = -20
- else // Any other
- A.yo = -20
- A.xo = 0
- A.fired()
-*/
- proc/Emit()
- var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter(src.loc)
- A.frequency = frequency
- A.damage = mega_energy * 500
- playsound(get_turf(src), 'sound/weapons/emitter.ogg', 25, 1)
- use_power(100 * mega_energy + 500)
- /*if(prob(35))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(5, 1, src)
- s.start()*/
- A.dir = src.dir
- if(src.dir == 1)//Up
- A.yo = 20
- A.xo = 0
- else if(src.dir == 2)//Down
- A.yo = -20
- A.xo = 0
- else if(src.dir == 4)//Right
- A.yo = 0
- A.xo = 20
- else if(src.dir == 8)//Left
- A.yo = 0
- A.xo = -20
- else // Any other
- A.yo = -20
- A.xo = 0
- A.process()
- //
- flick("emitter-active",src)
- if(emitting)
- spawn(rate)
- Emit()
-
- proc/UpdateIcon()
- if(on)
- icon_state = "emitter-on"
- else
- icon_state = "emitter-off"
-
-/obj/machinery/rust/gyrotron/control_panel
- icon_state = "control_panel"
- name = "Control panel"
- var/obj/machinery/rust/gyrotron/owned_gyrotron
- New()
- ..()
- pixel_x = -pixel_x
- pixel_y = -pixel_y
-
- interact(mob/user)
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=gyro_monitor")
- return
- var/t = "Free electron MASER (Gyrotron) Control Panel
"
- if(owned_gyrotron && owned_gyrotron.on)
- t += "Gyrotron operational
"
- t += "Operational mode: "
- if(owned_gyrotron.emitting)
- t += "Emitting \[Deactivate\]
"
- else
- t += "Not emitting \[Activate\]
"
- t += "Emission rate: [owned_gyrotron.rate] \[Modify\]
"
- t += "Beam frequency: [owned_gyrotron.frequency] \[Modify\]
"
- t += "Beam power: [owned_gyrotron.mega_energy] \[Modify\]
"
- else
- t += "Gyrotron unresponsive"
- t += "
"
- t += "Close
"
- user << browse(t, "window=gyro_monitor;size=500x800")
- user.machine = src
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm b/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm
deleted file mode 100644
index a28f67cc394..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm
+++ /dev/null
@@ -1,88 +0,0 @@
-
-/obj/machinery/computer/rust_gyrotron_controller
- name = "Gyrotron Remote Controller"
- icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi'
- icon_state = "engine"
- var/updating = 1
-
- New()
- ..()
-
- Topic(href, href_list)
- ..()
- if( href_list["close"] )
- usr << browse(null, "window=gyrotron_controller")
- usr.machine = null
- return
- if( href_list["target"] )
- var/obj/machinery/rust/gyrotron/gyro = locate(href_list["target"])
- gyro.Topic(href, href_list)
- return
-
- process()
- ..()
- if(updating)
- src.updateDialog()
-
- interact(mob/user)
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=gyrotron_controller")
- return
- var/t = "Gyrotron Remote Control Console
"
- t += "
"
- for(var/obj/machinery/rust/gyrotron/gyro in world)
- if(gyro.remoteenabled && gyro.on)
- t += "Gyrotron operational
"
- t += "Operational mode: "
- if(gyro.emitting)
- t += "Emitting \[Deactivate\]
"
- else
- t += "Not emitting \[Activate\]
"
- t += "Emission rate: [gyro.rate] \[Modify\]
"
- t += "Beam frequency: [gyro.frequency] \[Modify\]
"
- t += "Beam power: [gyro.mega_energy] \[Modify\]
"
- else
- t += "Gyrotron unresponsive"
- t += "
"
- /*
- var/t = "Reactor Core Fuel Control
"
- t += "Current fuel injection stage: [active_stage]
"
- if(active_stage == "Cooling")
- //t += "Restart injection cycle
"
- t += "----
"
- else
- t += "Enter cooldown phase
"
- t += "Fuel depletion announcement: "
- t += "[announce_fueldepletion ? "Disable" : "Disabled"] "
- t += "[announce_fueldepletion == 1 ? "Announcing" : "Announce"] "
- t += "[announce_fueldepletion == 2 ? "Broadcasting" : "Broadcast"]
"
- t += "Stage progression announcement: "
- t += "[announce_stageprogression ? "Disable" : "Disabled"] "
- t += "[announce_stageprogression == 1 ? "Announcing" : "Announce"] "
- t += "[announce_stageprogression == 2 ? "Broadcasting" : "Broadcast"] "
- t += "
"
- t += ""
- t += "| Injector Status | "
- t += "Injection interval (sec) | "
- t += "Assembly consumption per injection | "
- t += "Fuel Assembly Port | "
- t += "Assembly depletion percentage | "
- t += "
"
- for(var/stage in fuel_injectors)
- var/list/cur_stage = fuel_injectors[stage]
- t += "| Fuel Injection Stage: [stage] [active_stage == stage ? " (Currently active)" : "Activate"] |
"
- for(var/obj/machinery/rust/fuel_injector/Injector in cur_stage)
- t += ""
- t += "| [Injector.on && Injector.remote_enabled ? "Operational" : "Unresponsive"] | "
- t += "[Injector.rate/10] Modify | "
- t += "[Injector.fuel_usage*100]% Modify | "
- t += "[Injector.owned_assembly_port ? "[Injector.owned_assembly_port.cur_assembly ? "Loaded": "Empty"]" : "Disconnected" ] | "
- t += "[Injector.owned_assembly_port && Injector.owned_assembly_port.cur_assembly ? "[Injector.owned_assembly_port.cur_assembly.amount_depleted*100]%" : ""] | "
- t += "
"
- t += "
"
- */
- t += "Close
"
- user << browse(t, "window=gyrotron_controller;size=500x400")
- user.machine = src
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm b/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm
deleted file mode 100644
index 155ef23c5c6..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm
+++ /dev/null
@@ -1,74 +0,0 @@
-
-/obj/machinery/rust/rad_source
- var/mega_energy = 0
- var/time_alive = 0
- var/source_alive = 2
- New()
- ..()
-
- process()
- ..()
- //fade away over time
- if(source_alive > 0)
- time_alive++
- source_alive--
- else
- time_alive -= 0.1
- if(time_alive < 0)
- del(src)
-
- //radiate mobs nearby here
- //
-
-/*
-/obj/machinery/rust
- proc/RadiateParticle(var/energy, var/ionizing, var/dir = 0)
- if(!dir)
- RadiateParticleRand(energy, ionizing)
- var/obj/effect/accelerated_particle/particle = new
- particle.dir = dir
- particle.ionizing = ionizing
- if(energy)
- particle.energy = energy
- //particle.invisibility = 2
- //
- return particle
-
- proc/RadiateParticleRand(var/energy, var/ionizing)
- var/turf/target
- var/particle_range = 3 * round(energy) + rand(3,20)
- if(energy > 1)
- //for penetrating radiation
- for(var/mob/M in range(particle_range))
- var/dist_ratio = particle_range / get_dist(M, src)
- //particles are more likely to hit a person if the person is closer
- // 1/8 = 12.5% (closest)
- // 1/360 = 0.27% (furthest)
- // variation of 12.2%
- if( rand() < (0.25 + dist_ratio * 12.5) )
- target = get_turf(M)
- break
- if(!target)
- target = pick(range(particle_range))
- else
- //for slower, non-penetrating radiation
- for(var/mob/M in view(particle_range))
- var/dist_ratio = particle_range / get_dist(M, src)
- if( rand() < (0.25 + dist_ratio * 12.5) )
- target = get_turf(M)
- break
- if(!target)
- target = pick(view(particle_range))
- var/obj/effect/accelerated_particle/particle = new
- particle.target = target
- particle.ionizing = ionizing
- if(energy)
- particle.energy = energy
- //particle.invisibility = 2
- //
- return particle
-*/
-
-/obj/machinery/computer/rust_radiation_monitor
- name = "Radiation Monitor"
- icon_state = "power"
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi b/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi
deleted file mode 100644
index fd2ea5a0aae..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi b/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi
deleted file mode 100644
index 7fd6ad57d03..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm b/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm
deleted file mode 100644
index 2d32a9a7855..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm
+++ /dev/null
@@ -1,53 +0,0 @@
-
-//gimmicky hack to collect particles and direct them into the field
-/obj/effect/rust_particle_catcher
- icon = 'icons/effects/effects.dmi'
- density = 0
- anchored = 1
- layer = 4
- var/obj/effect/rust_em_field/parent
- var/mysize = 0
-
- invisibility = 101
-
-/*/obj/effect/rust_particle_catcher/New()
- for(var/obj/machinery/rust/em_field/field in range(6))
- parent = field
- if(!parent)
- del(src)*/
-
-/obj/effect/rust_particle_catcher/process()
- if(!parent)
- del(src)
-
-/obj/effect/rust_particle_catcher/proc/SetSize(var/newsize)
- name = "collector [newsize]"
- mysize = newsize
- UpdateSize()
-
-/obj/effect/rust_particle_catcher/proc/AddParticles(var/name, var/quantity = 1)
- if(parent && parent.size >= mysize)
- parent.AddParticles(name, quantity)
- return 1
- return 0
-
-/obj/effect/rust_particle_catcher/proc/UpdateSize()
- if(parent.size >= mysize)
- density = 1
- //invisibility = 0
- name = "collector [mysize] ON"
- else
- density = 0
- //invisibility = 101
- name = "collector [mysize] OFF"
-
-/obj/effect/rust_particle_catcher/bullet_act(var/obj/item/projectile/Proj)
- if(Proj.flag != "bullet" && parent)
- parent.AddEnergy(Proj.damage * 20, 0, 1)
- update_icon()
- return 0
-
-/obj/effect/rust_particle_catcher/Bumped(atom/AM)
- if(ismob(AM) && density && prob(10))
- AM << "\red A powerful force pushes you back."
- ..()
diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm
deleted file mode 100644
index eeab2fafc76..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm
+++ /dev/null
@@ -1,132 +0,0 @@
-//mostly replaced these with emitter code
-//they're functionally identical
-
-/obj/machinery/computer/laser
- name = "Zero-point laser"
- desc = "A super-powerful laser"
- var/visible = 1
- var/state = 1.0
- //var/obj/beam/e_beam/first
- var/power = 500
- icon = 'icons/obj/engine.dmi'
- icon_state = "laser"
- anchored = 1
- var/id
- var/on = 0
- var/freq = 50000
- var/phase = 0
- var/phase_variance = 0
-
-/obj/machinery/computer/laser/process()
- /*if(on)
- if(!first)
- src.first = new /obj/beam/e_beam(src.loc)
- src.first.master = src
- src.first.dir = src.dir
- src.first.power = src.power
- src.first.freq = src.freq
- src.first.phase = src.phase
- src.first.phase_variance = src.phase_variance
- step(first, dir)
- if(first)
- src.first.updatebeam()
- else
- src.first.updatebeam()
- else
- if(first)
- del first*/
-
-/obj/machinery/computer/laser/proc/setpower(var/powera)
- /*src.power = powera
- if(first)
- first.setpower(src.power)*/
-
-/*
-/obj/beam/e_beam
- name = "Laser beam"
- icon = 'icons/obj/projectiles.dmi'
- icon_state = "u_laser"
- var/obj/machinery/engine/laser/master = null
- var/obj/beam/e_beam/next = null
- var/power
- var/freq = 50000
- var/phase = 0
- var/phase_variance = 0
- anchored = 1
-
-/obj/beam/e_beam/New()
- sd_SetLuminosity(1, 1, 4)
-
-/obj/beam/e_beam/proc/updatebeam()
- if(!next)
- if(get_step(src.loc,src.dir))
- var/obj/beam/e_beam/e = new /obj/beam/e_beam(src.loc)
- e.dir = src.dir
- src.next = e
- e.master = src.master
- e.power = src.power
- e.phase = src.phase
- src.phase+=src.phase_variance
- e.freq = src.freq
- e.phase_variance = src.phase_variance
- if(src.loc.density == 0)
- for(var/atom/o in src.loc.contents)
- if(o.density || o == src.master || (ismob(o) && !istype(o, /mob/dead)) )
- o.laser_act(src)
- del src
- return
- else
- src.loc.laser_act(src)
- del e
- return
- step(e,e.dir)
- if(e)
- e.updatebeam()
- else
- next.updatebeam()
-
-/atom/proc/laser_act(var/obj/beam/e_beam/b)
- return
-
-/mob/living/carbon/laser_act(var/obj/beam/e_beam/b)
- for(var/t in organs)
- var/datum/organ/external/affecting = organs["[t]"]
- if (affecting.take_damage(0, b.power/400,0,0))
- UpdateDamageIcon()
- else
- UpdateDamage()
-
-/obj/beam/e_beam/Bump(atom/Obstacle)
- Obstacle.laser_act(src)
- del(src)
- return
-
-
-/obj/beam/e_beam/proc/setpower(var/powera)
- src.power = powera
- if(src.next)
- src.next.setpower(powera)
-
-/obj/beam/e_beam/Bumped()
- src.hit()
- return
-
-/obj/beam/e_beam/Crossed(atom/movable/AM as mob|obj)
- if (istype(AM, /obj/beam))
- return
- spawn( 0 )
- AM.laser_act(src)
- src.hit()
- return
- return
-
-/obj/beam/e_beam/Destroy()
- if(next)
- del(next)
- ..()
- return
-
-/obj/beam/e_beam/proc/hit()
- del src
- return
- */
\ No newline at end of file
diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm
deleted file mode 100644
index d606337f4cb..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm
+++ /dev/null
@@ -1,122 +0,0 @@
-//The laser control computer
-//Used to control the lasers
-/obj/machinery/computer/lasercon
- name = "Laser control computer"
- var/list/lasers = new/list
- icon_state = "atmos"
- var/id
- //var/advanced = 0
-
-/obj/machinery/computer/lasercon
- New()
- spawn(1)
- for(var/obj/machinery/zero_point_emitter/las in world)
- if(las.id == src.id)
- lasers += las
-
- process()
- ..()
- updateDialog()
-
- interact(mob/user)
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=laser_control")
- return
- var/t = "Laser status monitor
"
- for(var/obj/machinery/zero_point_emitter/laser in lasers)
- t += "Zero Point Laser
"
- t += "Power level: - - - - [laser.energy]MeV + + + +
"
- t += "Frequency: - - [laser.freq] + +
"
- t += "Output: [laser.active ? "Online Offline" : "Online Offline "]
"
- t += "
"
- t += "Close
"
- user << browse(t, "window=laser_control;size=500x800")
- user.machine = src
-
-/*
-/obj/machinery/computer/lasercon/proc/interact(mob/user)
-
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=powcomp")
- return
-
-
- user.machine = src
- var/t = "Laser status monitor
"
-
- var/obj/machinery/engine/laser/laser = src.laser[1]
-
- if(!laser)
- t += "\red No laser found"
- else
-
-
- t += "Power level: - - - - [add_lspace(laser.power,5)] + + + +
"
- if(advanced)
- t += "Frequency: - - [add_lspace(laser.freq,5)] + +
"
-
- t += "Output: [laser.on ? "Online Offline" : "Online Offline "]
"
-
- t += "
Close"
-
- user << browse(t, "window=lascomp;size=420x700")
- onclose(user, "lascomp")
-*/
-
-/obj/machinery/computer/lasercon/Topic(href, href_list)
- ..()
- if( href_list["close"] )
- usr << browse(null, "window=laser_control")
- usr.machine = null
- return
-
- else if( href_list["input"] )
- var/i = text2num(href_list["input"])
- var/d = i
- for(var/obj/machinery/zero_point_emitter/laser in lasers)
- var/new_power = laser.energy + d
- new_power = max(new_power,0.0001) //lowest possible value
- new_power = min(new_power,0.01) //highest possible value
- laser.energy = new_power
- //
- src.updateDialog()
- else if( href_list["online"] )
- var/obj/machinery/zero_point_emitter/laser = href_list["online"]
- laser.active = !laser.active
- src.updateDialog()
- else if( href_list["freq"] )
- var/amt = text2num(href_list["freq"])
- for(var/obj/machinery/zero_point_emitter/laser in lasers)
- var/new_freq = laser.frequency + amt
- new_freq = max(new_freq,1) //lowest possible value
- new_freq = min(new_freq,20000) //highest possible value
- laser.frequency = new_freq
- //
- src.updateDialog()
-
-/*
-/obj/machinery/computer/lasercon/process()
- if(!(stat & (NOPOWER|BROKEN)) )
- use_power(250)
-
- //src.updateDialog()
-*/
-
-/*
-/obj/machinery/computer/lasercon/power_change()
-
- if(stat & BROKEN)
- icon_state = "broken"
- else
- if( powered() )
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "c_unpowered"
- stat |= NOPOWER
-*/
diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi b/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi
deleted file mode 100644
index 3d312aa7927..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm
deleted file mode 100644
index fd3bf8eea6e..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm
+++ /dev/null
@@ -1,186 +0,0 @@
-#define NITROGEN_RETARDATION_FACTOR 12 //Higher == N2 slows reaction more
-#define THERMAL_RELEASE_MODIFIER 0.55 //Percentage of output power given to heat generation.
-
-#define PLASMA_RELEASE_MODIFIER 0.24 //Percentage of output power given to plasma generation.
-#define PLASMA_CONVERSION_FACTOR 50 //How much energy per mole of plasma
-#define MAX_PLASMA_RELATIVE_INCREASE 0.3 //Percentage of current plasma amounts that can be added to preexisting plasma.
-
-#define OXYGEN_RELEASE_MODIFIER 0.13 //Percentage of output power given to oxygen generation.
-#define OXYGEN_CONVERSION_FACTOR 150 //How much energy per mole of oxygen.
-#define MAX_OXYGEN_RELATIVE_INCREASE 0.2 //Percentage of current oxygen amounts that can be added to preexisting oxygen.
-
-#define RADIATION_POWER_MODIFIER 0.03 //How much power goes to irradiating the area.
-#define RADIATION_FACTOR 10
-#define HALLUCINATION_POWER_MODIFIER 0.05 //How much power goes to hallucinations.
-#define HALLUCINATION_FACTOR 20
-
-#define REACTION_POWER_MODIFIER 4 //Higher == more overall power
-
-#define WARNING_DELAY 45 //45 seconds between warnings.
-
-/obj/machinery/power/supermatter
- name = "Supermatter"
- desc = "A strangely translucent and iridescent crystal. \red You get headaches just from looking at it."
- icon = 'icons/obj/engine.dmi'
- icon_state = "darkmatter"
- density = 1
- anchored = 0
-
- var/gasefficency = 0.25
-
- var/base_icon_state = "darkmatter"
-
- var/damage = 0
- var/damage_archived = 0
- var/safe_alert = "Crystaline hyperstructure returning to safe operating levels."
- var/warning_point = 100
- var/warning_alert = "Danger! Crystal hyperstructure instability!"
- var/emergency_point = 700
- var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT"
- var/explosion_point = 1000
-
- var/emergency_issued = 0
-
- var/explosion_power = 8
-
- var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning
-
- var/power = 0
-
-
- shard //Small subtype, less efficient and more sensitive, but less boom.
- name = "Supermatter Shard"
- desc = "A strangely translucent and iridescent crystal. Looks like it used to be part of a larger structure. \red You get headaches just from looking at it."
- icon_state = "darkmatter_shard"
- base_icon_state = "darkmatter_shard"
-
- warning_point = 50
- emergency_point = 500
- explosion_point = 900
-
- gasefficency = 0.125
-
- explosion_power = 3 //3,6,9,12? Or is that too small?
-
-
- process()
-
- var/turf/L = loc
-
- if(!istype(L)) //If we are not on a turf, uh oh.
- del src
-
- //Ok, get the air from the turf
- var/datum/gas_mixture/env = L.return_air()
-
- //Remove gas from surrounding area
- var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles)
-
- if (!removed)
- return 1
-
- if(damage > warning_point) // while the core is still damaged and it's still worth noting its status
- if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY)
-
- if(damage > emergency_point)
- //radioalert("states, \"[emergency_alert]\"","Supermatter Monitor")
- lastwarning = world.timeofday
- else if(damage >= damage_archived) // The damage is still going up
- //radioalert("states, \"[warning_alert]\"","Supermatter Monitor")
- lastwarning = world.timeofday-150
- else // Phew, we're safe
- //radioalert("states, \"[safe_alert]\"","Supermatter Monitor")
- lastwarning = world.timeofday
-
- if(damage > explosion_point)
- explosion(loc,explosion_power,explosion_power*2,explosion_power*3,explosion_power*4,1)
- del src
-
- damage_archived = damage
- damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 )
-
- if(!removed.total_moles)
- damage += max((power-1600)/10,0)
- power = max(power,1600)
- return 1
-
- var/nitrogen_mod = abs((removed.nitrogen / removed.total_moles)) * NITROGEN_RETARDATION_FACTOR
- var/oxygen = max(min(removed.oxygen / removed.total_moles - nitrogen_mod, 1), 0)
-
- var/temp_factor = 0
- if(oxygen > 0.8)
- // with a perfect gas mix, make the power less based on heat
- temp_factor = 100
- icon_state = "[base_icon_state]_glow"
- else
- // in normal mode, base the produced energy around the heat
- temp_factor = 60
- icon_state = base_icon_state
-
- //Calculate power released as heat and gas, in as the sqrt of the power.
- var/power_factor = (power/500) ** 3
- var/device_energy = oxygen * power_factor
- power = max(round((removed.temperature - T0C) / temp_factor) + power - power_factor, 0) //Total laser power plus an overload factor
-
- //Final energy calcs.
- device_energy = max(device_energy * REACTION_POWER_MODIFIER,0)
-
- //To figure out how much temperature to add each tick, consider that at one atmosphere's worth
- //of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature
- //that the device energy is around 2140. At that stage, we don't want too much heat to be put out
- //Since the core is effectively "cold"
-
- //Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock
- //is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall.
-
- var/plasma_energy = device_energy * PLASMA_RELEASE_MODIFIER
- var/oxygen_energy = device_energy * OXYGEN_RELEASE_MODIFIER
- var/other_energy = device_energy * (1- (OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER))
-
- //Put as much plasma out as is permitted.
- if( plasma_energy > removed.total_moles * PLASMA_CONVERSION_FACTOR * MAX_PLASMA_RELATIVE_INCREASE / gasefficency)
- removed.toxins += (MAX_PLASMA_RELATIVE_INCREASE * removed.total_moles / gasefficency)
- other_energy += plasma_energy - (removed.total_moles * PLASMA_CONVERSION_FACTOR * MAX_PLASMA_RELATIVE_INCREASE / gasefficency)
- else
- removed.toxins += plasma_energy/PLASMA_CONVERSION_FACTOR
-
- //Put as much plasma out as is permitted.
- if( oxygen_energy > removed.total_moles * OXYGEN_CONVERSION_FACTOR * MAX_OXYGEN_RELATIVE_INCREASE / gasefficency)
- removed.oxygen += (MAX_OXYGEN_RELATIVE_INCREASE * removed.total_moles / gasefficency)
- other_energy += oxygen_energy - (removed.total_moles * OXYGEN_CONVERSION_FACTOR * MAX_OXYGEN_RELATIVE_INCREASE / gasefficency)
- else
- removed.oxygen += oxygen_energy/OXYGEN_CONVERSION_FACTOR
-
-
- var/heat_energy = (other_energy*THERMAL_RELEASE_MODIFIER)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER))
- var/hallucination_energy = (other_energy*HALLUCINATION_POWER_MODIFIER*HALLUCINATION_FACTOR)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER))
- var/rad_energy = (other_energy*RADIATION_POWER_MODIFIER*RADIATION_FACTOR)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER))
-
- var/heat_applied = max(heat_energy,0)
- if(heat_applied + removed.temperature > 800)
- removed.temperature = 800
- var/energy_to_reconsider = (heat_applied + removed.temperature - 800)
- hallucination_energy += (energy_to_reconsider*HALLUCINATION_POWER_MODIFIER)/(HALLUCINATION_POWER_MODIFIER+RADIATION_POWER_MODIFIER)
- rad_energy += (energy_to_reconsider*RADIATION_POWER_MODIFIER)/(HALLUCINATION_POWER_MODIFIER+RADIATION_POWER_MODIFIER)
- else
- removed.temperature += heat_applied
-
- removed.update_values()
-
- env.merge(removed)
-
- for(var/mob/living/carbon/human/l in view(src, round(hallucination_energy**0.25))) // you have to be seeing the core to get hallucinations
- if(prob(10) && !istype(l.glasses, /obj/item/clothing/glasses/meson))
- l.hallucination += hallucination_energy/((get_dist(l,src)**2))
-
- for(var/mob/living/l in range(src,round(rad_energy**0.25)))
- var/rads = rad_energy/((get_dist(l,src)**2))
- l.apply_effect(rads, IRRADIATE)
-
- return 1
-
-
- bullet_act(var/obj/item/projectile/Proj)
- if(Proj.flag != "bullet")
- power += Proj.damage
- return 0
\ No newline at end of file
diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm
deleted file mode 100644
index 7039b393cfe..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm
+++ /dev/null
@@ -1,236 +0,0 @@
-//new supermatter lasers
-
-/obj/machinery/zero_point_emitter
- name = "Zero-point laser"
- desc = "A super-powerful laser"
- icon = 'icons/obj/engine.dmi'
- icon_state = "laser"
- anchored = 0
- density = 1
- req_access = list(access_research)
-
- use_power = 1
- idle_power_usage = 10
- active_power_usage = 300
-
- var/active = 0
- var/fire_delay = 100
- var/last_shot = 0
- var/shot_number = 0
- var/state = 0
- var/locked = 0
-
- var/energy = 0.0001
- var/frequency = 1
-
- var/freq = 50000
- var/id
-
-/obj/machinery/zero_point_emitter/verb/rotate()
- set name = "Rotate"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- usr << "It is fastened to the floor!"
- return 0
- src.dir = turn(src.dir, 90)
- return 1
-
-/obj/machinery/zero_point_emitter/New()
- ..()
- return
-
-/obj/machinery/zero_point_emitter/update_icon()
- if (active && !(stat & (NOPOWER|BROKEN)))
- icon_state = "laser"//"emitter_+a"
- else
- icon_state = "laser"//"emitter"
-
-/obj/machinery/zero_point_emitter/attack_hand(mob/user as mob)
- src.add_fingerprint(user)
- if(state == 2)
- if(!src.locked)
- if(src.active==1)
- src.active = 0
- user << "You turn off the [src]."
- src.use_power = 1
- else
- src.active = 1
- user << "You turn on the [src]."
- src.shot_number = 0
- src.fire_delay = 100
- src.use_power = 2
- update_icon()
- else
- user << "\red The controls are locked!"
- else
- user << "\red The [src] needs to be firmly secured to the floor first."
- return 1
-
-
-/obj/machinery/zero_point_emitter/emp_act(var/severity)//Emitters are hardened but still might have issues
- use_power(1000)
-/* if((severity == 1)&&prob(1)&&prob(1))
- if(src.active)
- src.active = 0
- src.use_power = 1 */
- return 1
-
-/obj/machinery/zero_point_emitter/process()
- if(stat & (NOPOWER|BROKEN))
- return
- if(src.state != 2)
- src.active = 0
- return
- if(((src.last_shot + src.fire_delay) <= world.time) && (src.active == 1))
- src.last_shot = world.time
- if(src.shot_number < 3)
- src.fire_delay = 2
- src.shot_number ++
- else
- src.fire_delay = rand(20,100)
- src.shot_number = 0
- use_power(1000)
- var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter(src.loc)
- playsound(get_turf(src), 'sound/weapons/emitter.ogg', 25, 1)
- if(prob(35))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(5, 1, src)
- s.start()
- A.dir = src.dir
- switch(dir)
- if(NORTH)
- A.yo = 20
- A.xo = 0
- if(EAST)
- A.yo = 0
- A.xo = 20
- if(WEST)
- A.yo = 0
- A.xo = -20
- else // Any other
- A.yo = -20
- A.xo = 0
- A.process() //TODO: Carn: check this out
-
-
-/obj/machinery/zero_point_emitter/attackby(obj/item/W, mob/user)
-
- if(istype(W, /obj/item/weapon/wrench))
- if(active)
- user << "Turn off the [src] first."
- return
- switch(state)
- if(0)
- state = 1
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] secures [src.name] to the floor.", \
- "You secure the external reinforcing bolts to the floor.", \
- "You hear a ratchet")
- src.anchored = 1
- if(1)
- state = 0
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
- "You undo the external reinforcing bolts.", \
- "You hear a ratchet")
- src.anchored = 0
- if(2)
- user << "\red The [src.name] needs to be unwelded from the floor."
- return
-
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
- if(active)
- user << "Turn off the [src] first."
- return
- switch(state)
- if(0)
- user << "\red The [src.name] needs to be wrenched to the floor."
- if(1)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
- "You start to weld the [src] to the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 2
- user << "You weld the [src] to the floor."
- else
- user << "\red You need more welding fuel to complete this task."
- if(2)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
- "You start to cut the [src] free from the floor.", \
- "You hear welding")
- if (do_after(user,20))
- if(!src || !WT.isOn()) return
- state = 1
- user << "You cut the [src] free from the floor."
- else
- user << "\red You need more welding fuel to complete this task."
- return
-
- if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
- if(emagged)
- user << "\red The lock seems to be broken"
- return
- if(src.allowed(user))
- if(active)
- src.locked = !src.locked
- user << "The controls are now [src.locked ? "locked." : "unlocked."]"
- else
- src.locked = 0 //just in case it somehow gets locked
- user << "\red The controls can only be locked when the [src] is online"
- else
- user << "\red Access denied."
- return
-
-
- if(istype(W, /obj/item/weapon/card/emag) && !emagged)
- locked = 0
- emagged = 1
- user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
- return
-
- ..()
- return
-
-
-/obj/machinery/zero_point_emitter/power_change()
- ..()
- update_icon()
- return
-
-/obj/machinery/zero_point_emitter/Topic(href, href_list)
- ..()
- if( href_list["input"] )
- var/i = text2num(href_list["input"])
- var/d = i
- var/new_power = energy + d
- new_power = max(new_power,0.0001) //lowest possible value
- new_power = min(new_power,0.01) //highest possible value
- energy = new_power
- //
- for(var/obj/machinery/computer/lasercon/comp in world)
- if(comp.id == src.id)
- comp.updateDialog()
- else if( href_list["online"] )
- active = !active
- //
- for(var/obj/machinery/computer/lasercon/comp in world)
- if(comp.id == src.id)
- comp.updateDialog()
- else if( href_list["freq"] )
- var/amt = text2num(href_list["freq"])
- var/new_freq = frequency + amt
- new_freq = max(new_freq,1) //lowest possible value
- new_freq = min(new_freq,20000) //highest possible value
- frequency = new_freq
- //
- for(var/obj/machinery/computer/lasercon/comp in world)
- if(comp.id == src.id)
- comp.updateDialog()
diff --git a/code/WorkInProgress/Cael_Aislinn/covershield.dmi b/code/WorkInProgress/Cael_Aislinn/covershield.dmi
deleted file mode 100644
index b3d8b21e8dd..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/covershield.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm b/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm
deleted file mode 100644
index 85bcc084b7a..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm
+++ /dev/null
@@ -1,261 +0,0 @@
-#define MISSILE_SPEED 5
-
-//automated turret that shoots missiles at meteors
-
-/obj/item/projectile/missile
- name = "missile"
- icon = 'code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi'
- icon_state = "missile"
- var/turf/target
- var/tracking = 0
- density = 1
- desc = "It's sparking and shaking slightly."
-
-/obj/item/projectile/missile/process(var/turf/newtarget)
- target = newtarget
- dir = get_dir(src.loc, target)
- walk_towards(src, target, MISSILE_SPEED)
-
-/obj/item/projectile/missile/Bump(atom/A)
- spawn(0)
- if(istype(A,/obj/effect/meteor))
- del(A)
- explode()
- return
-
-/obj/item/projectile/missile/proc/explode()
- explosion(src.loc, 1, 1, 2, 7, 0)
- playsound(src.loc, "explosion", 50, 1)
- del(src)
-
-/obj/item/projectile/missile/attack_hand(mob/user)
- ..()
- return attackby(null, user)
-
-/obj/item/projectile/missile/attackby(obj/item/weapon/W, mob/user)
- //can't touch this
- ..()
- explode()
-
-/obj/machinery/meteor_battery
- name = "meteor battery"
- icon = 'code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi'
- icon_state = "turret0"
- var/raised = 0
- var/enabled = 1
- anchored = 1
- layer = 3
- invisibility = 2
- density = 1
- var/health = 18
- var/id = ""
- var/obj/machinery/turretcover/cover = null
- var/popping = 0
- var/wasvalid = 0
- var/lastfired = 0
- var/shot_delay = 50
- var/datum/effect/effect/system/spark_spread/spark_system
- use_power = 1
- idle_power_usage = 50
- active_power_usage = 300
- var/atom/movable/cur_target
- var/targeting_active = 0
- var/protect_range = 30
- var/tracking_missiles = 0
- var/list/fired_missiles
-
-/obj/machinery/meteor_battery/New()
- spark_system = new /datum/effect/effect/system/spark_spread
- spark_system.set_up(5, 0, src)
- spark_system.attach(src)
- fired_missiles = new/list()
-// targets = new
- ..()
- return
-
-/obj/machinery/meteor_battery/proc/isPopping()
- return (popping!=0)
-
-/obj/machinery/meteor_battery/power_change()
- if(stat & BROKEN)
- icon_state = "broke"
- else
- if( powered() )
- if (src.enabled)
- icon_state = "turret1"
- else
- icon_state = "turret0"
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "turret0"
- stat |= NOPOWER
-
-/obj/machinery/meteor_battery/proc/setState(var/enabled)
- src.enabled = enabled
- src.power_change()
-
-/obj/machinery/meteor_battery/proc/get_new_target()
- var/list/new_targets = new
- var/new_target
- for(var/obj/effect/meteor/M in view(protect_range, get_turf(src)))
- new_targets += M
- if(new_targets.len)
- new_target = pick(new_targets)
- return new_target
-
-/obj/machinery/meteor_battery/process()
- if(stat & (NOPOWER|BROKEN))
- return
- if(src.cover==null)
- src.cover = new /obj/machinery/turretcover(src.loc)
- src.cover.host = src
- if(!enabled)
- if(!isDown() && !isPopping())
- popDown()
- return
-
- //update our missiles
- for(var/obj/item/projectile/missile/M in fired_missiles)
- if(!M)
- fired_missiles.Remove(M)
- continue
- if(tracking_missiles && cur_target)
- //update homing missile target
- M.target = get_turf(cur_target)
- walk_towards(M, M.target, MISSILE_SPEED)
-
- if(get_turf(M) == M.target && M)
- //missile has arrived at destination
- fired_missiles.Remove(M)
- if( istype(get_turf(M), /turf/space) )
- //send the missile shooting off into the distance
- walk(M, get_dir(src,M), MISSILE_SPEED)
- spawn(rand(3,10) * 10)
- if(M)
- M.explode()
- else if(rand(3) == 3)
- //chance to blow up later (between 4 seconds and 2 minutes), or just sit there being ominous
- spawn(rand(4,120) * 10)
- M.explode()
- for(var/mob/P in view(7))
- P.visible_message("\red The missile skids to a halt, vibrating and sparking ominously!")
-
- if(!cur_target)
- cur_target = get_new_target() //get new target
-
- if(cur_target) //if it's found, proceed
- if(!isPopping())
- if(isDown())
- popUp()
- use_power = 2
- else
- spawn()
- if(!targeting_active)
- targeting_active = 1
- target()
- targeting_active = 0
- else if(!isPopping())//else, pop down
- if(!isDown())
- popDown()
- use_power = 1
-
- return
-
-/obj/machinery/meteor_battery/proc/target()
- while(src && enabled && !stat)
- src.dir = get_dir(src, cur_target)
- shootAt(cur_target)
- sleep(shot_delay)
- return
-
-/obj/machinery/meteor_battery/proc/shootAt(var/atom/movable/target)
- var/turf/T = get_turf(src)
- var/turf/U = get_turf(target)
- if (!T || !U)
- return
- use_power(500)
- var/obj/item/projectile/missile/A = new(T)
- A.tracking = tracking_missiles
- fired_missiles.Add(A)
- spawn(0)
- A.process(U)
- return
-
-
-/obj/machinery/meteor_battery/proc/isDown()
- return (invisibility!=0)
-
-/obj/machinery/meteor_battery/proc/popUp()
- if ((!isPopping()) || src.popping==-1)
- invisibility = 0
- popping = 1
- if (src.cover!=null)
- flick("popup", src.cover)
- src.cover.icon_state = "openTurretCover"
- spawn(10)
- if (popping==1) popping = 0
-
-/obj/machinery/meteor_battery/proc/popDown()
- if ((!isPopping()) || src.popping==1)
- popping = -1
- if (src.cover!=null)
- flick("popdown", src.cover)
- src.cover.icon_state = "turretCover"
- spawn(10)
- if (popping==-1)
- invisibility = 2
- popping = 0
-
-/obj/machinery/meteor_battery/bullet_act(var/obj/item/projectile/Proj)
- src.health -= Proj.damage
- ..()
- if(prob(45) && Proj.damage > 0) src.spark_system.start()
- if (src.health <= 0)
- src.die()
- return
-
-/obj/machinery/meteor_battery/attackby(obj/item/weapon/W, mob/user)//I can't believe no one added this before/N
- ..()
- playsound(src.loc, 'sound/weapons/smash.ogg', 60, 1)
- src.spark_system.start()
- src.health -= W.force * 0.5
- if (src.health <= 0)
- src.die()
- return
-
-/obj/machinery/meteor_battery/emp_act(severity)
- switch(severity)
- if(1)
- enabled = 0
- power_change()
- ..()
-
-/obj/machinery/meteor_battery/ex_act(severity)
- if(severity < 3)
- src.die()
-
-/obj/machinery/meteor_battery/proc/die()
- src.health = 0
- src.density = 0
- src.stat |= BROKEN
- src.icon_state = "broke"
- if (cover!=null)
- del(cover)
- sleep(3)
- flick("explosion", src)
- spawn(13)
- del(src)
-
-/obj/machinery/meteor_battery/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
- if(!(stat & BROKEN))
- playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has slashed at []!", M, src), 1)
- src.health -= 15
- if (src.health <= 0)
- src.die()
- else
- M << "\green That object is useless to you."
- return
diff --git a/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi b/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi
deleted file mode 100644
index 3f62c56b1b3..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Cael_Aislinn/sculpture.dm b/code/WorkInProgress/Cael_Aislinn/sculpture.dm
deleted file mode 100644
index 4589583f96b..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/sculpture.dm
+++ /dev/null
@@ -1,262 +0,0 @@
-
-//sculpture
-//SCP-173, nothing more need be said
-/mob/living/simple_animal/sculpture
- name = "\improper sculpture"
- real_name = "sculpture"
- desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid. "
- icon = 'code/WorkInProgress/Cael_Aislinn/unknown.dmi'
- icon_state = "sculpture"
- icon_living = "sculpture"
- icon_dead = "sculpture"
- emote_hear = list("makes a faint scraping sound")
- emote_see = list("twitches slightly", "shivers")
- response_help = "touches the"
- response_disarm = "pushes the"
- response_harm = "hits the"
- var/obj/item/weapon/grab/G
- var/observed = 0
- var/allow_escape = 0 //set this to 1 for src to drop it's target next Life() call and try to escape
- var/hibernate = 0
- var/random_escape_chance = 0.5
-
-/mob/living/simple_animal/sculpture/proc/GrabMob(var/mob/living/target)
- if(target && target != src && ishuman(target))
- G = new /obj/item/weapon/grab(src, target)
- G.loc=src
- target.grabbed_by += G
- G.synch()
- target.LAssailant = src
-
- playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- visible_message("\red [src] has grabbed [target]!")
- target << "\red You feel something suddenly grab you around the neck from behind! Everything goes black..."
-
- G.state = GRAB_KILL
-
- desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid. [G ? "\red The sculpture is holding [G.affecting] in a vice-like grip." : ""]"
- target.attack_log += text("\[[time_stamp()]\] Has been grabbed by SCP-173, and is being strangled!")
- log_admin("[target] ([target.ckey]) has been grabbed and is being strangled by SCP-173.")
- message_admins("Alert: [target.real_name] has been grabbed and is being strangled by SCP-173.") //Set var/allow_escape = 1 to allow this player to escape temporarily, or var/hibernate = 1 to disable it entirely.
-
-/mob/living/simple_animal/sculpture/proc/Escape()
- var/list/turfs = new/list()
- for(var/turf/thisturf in view(50,src))
- if(istype(thisturf, /turf/space))
- continue
- else if(istype(thisturf, /turf/simulated/wall))
- continue
- else if(istype(thisturf, /turf/unsimulated/mineral))
- continue
- else if(istype(thisturf, /turf/simulated/shuttle/wall))
- continue
- else if(istype(thisturf, /turf/unsimulated/wall))
- continue
- turfs += thisturf
- var/turf/target_turf = pick(turfs)
- src.dir = get_dir(src, target_turf)
- src.loc = target_turf
-
- hibernate = 1
- spawn(rand(20,35) * 10)
- hibernate = 0
-
-/mob/living/simple_animal/sculpture/Life()
-
- observed = 0
-
- //update the desc
- if(!G)
- desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid."
-
- //if we are sent into forced hibernation mode, allow our victim to escape
- if(hibernate && G && G.state == GRAB_KILL)
- if(G)
- G.affecting << "\red You suddenly feel the grip around your neck being loosened!"
- visible_message("\red [src] suddenly loosens it's grip due to hibernate!")
- G.state = GRAB_AGGRESSIVE
- return
-
- //
- if(allow_escape)
- allow_escape = 0
- if(G)
- G.affecting << "\red You suddenly feel the grip around your neck being loosened!"
- visible_message("\red [src] suddenly loosens it's grip!")
- G.state = GRAB_AGGRESSIVE
- if(!observed)
- Escape()
- observed = 1
-
- //can't do anything in space at all
- if(istype(get_turf(src), /turf/space) || hibernate)
- return
-
- // Grabbing
- if(G)
- G.process()
-
- for(var/mob/living/M in view(7, src))
- if(M.stat || M == src)
- continue
- var/xdif = M.x - src.x
- var/ydif = M.y - src.y
- if(abs(xdif) < abs(ydif))
- //mob is either above or below src
- if(ydif < 0 && M.dir == NORTH)
- //mob is below src and looking up
- observed = 1
- break
- else if(ydif > 0 && M.dir == SOUTH)
- //mob is above src and looking down
- observed = 1
- break
- else if(abs(xdif) > abs(ydif))
- //mob is either left or right of src
- if(xdif < 0 && M.dir == EAST)
- //mob is to the left of src and looking right
- observed = 1
- break
- else if(xdif > 0 && M.dir == WEST)
- //mob is to the right of src and looking left
- observed = 1
- break
- else if (xdif == 0 && ydif == 0)
- //mob is on the same tile as src
- observed = 1
- break
-
- //account for darkness
- var/turf/T = get_turf(src)
- var/in_darkness = 0
- if(T.luminosity == 0 && !istype(T, /turf/simulated))
- in_darkness = 1
-
- //see if we're able to do stuff
- if(!observed || in_darkness)
- if(G)
- if(prob(1))
- //chance to allow the stranglee to escape
- allow_escape = 1
- if(G.affecting.stat == 2)
- del G
- else if(!G)
- //see if we're able to strangle anyone
- var/turf/myTurf = get_turf(src)
- for(var/mob/living/M in myTurf)
- GrabMob(M)
- if(G)
- break
-
- //find out what mobs we can see
- var/list/incapacitated = list()
- var/list/conscious = list()
- for(var/mob/living/carbon/M in view(7, src))
- //this may not be quite the right test
- if(M == src)
- continue
- if(M.stat == 1)
- incapacitated.Add(M)
- else if(!M.stat)
- conscious.Add(M)
-
- //pick the nearest valid conscious target
- var/mob/living/carbon/target_mob
- for(var/mob/living/carbon/M in conscious)
- if(!target_mob || get_dist(src, M) < get_dist(src, target_mob))
- target_mob = M
-
- if(!target_mob)
- //get an unconscious mob
- for(var/mob/living/carbon/M in incapacitated)
- if(!target_mob || get_dist(src, M) < get_dist(src, target_mob))
- target_mob = M
- if(target_mob)
- var/turf/target_turf
- if(in_darkness)
- //move to right behind them
- target_turf = get_step(target_mob, src)
- else
- //move to them really really fast and knock them down
- target_turf = get_turf(target_mob)
-
- //rampage along a path to get to them, in the blink of an eye
- var/turf/next_turf = get_step_towards(src, target_mob)
- var/num_turfs = get_dist(src,target_mob)
- while(get_turf(src) != target_turf && num_turfs > 0)
- for(var/obj/structure/window/W in next_turf)
- W.destroy()
- for(var/obj/structure/table/O in next_turf)
- O.ex_act(1)
- for(var/obj/structure/grille/G in next_turf)
- G.ex_act(1)
- if(!next_turf.CanPass(src, next_turf))
- break
- src.loc = next_turf
- src.dir = get_dir(src, target_mob)
- next_turf = get_step(src, get_dir(next_turf,target_mob))
- num_turfs--
-
- //if we reached them, knock them down and start strangling them
- if(get_turf(src) == target_turf)
- target_mob.Stun(1)
- target_mob.Paralyse(1)
- GrabMob(target_mob)
-
- //if we're not strangling anyone, take a stroll
- if(!G && prob(10))
- var/list/turfs = new/list()
- for(var/turf/thisturf in view(7,src))
- if(istype(thisturf, /turf/space))
- continue
- else if(istype(thisturf, /turf/simulated/wall))
- continue
- else if(istype(thisturf, /turf/unsimulated/mineral))
- continue
- else if(istype(thisturf, /turf/simulated/shuttle/wall))
- continue
- else if(istype(thisturf, /turf/unsimulated/wall))
- continue
- turfs += thisturf
- var/turf/target_turf = pick(turfs)
-
- //rampage along a path to get to it, in the blink of an eye
- var/turf/next_turf = get_step_towards(src, target_turf)
- var/num_turfs = get_dist(src,target_turf)
- while(get_turf(src) != target_turf && num_turfs > 0)
- for(var/obj/structure/window/W in next_turf)
- W.destroy()
- for(var/obj/structure/table/O in next_turf)
- O.ex_act(1)
- for(var/obj/structure/grille/G in next_turf)
- G.ex_act(1)
- if(!next_turf.CanPass(src, next_turf))
- break
- src.loc = next_turf
- src.dir = get_dir(src, target_mob)
- next_turf = get_step(src, get_dir(next_turf,target_turf))
- num_turfs--
-
-// else if(G)
-// //we can't move while observed, so we can't effectively strangle any more //since victim is observer this means no strangling
-// //our grip is still rock solid, but the victim has a chance to escape
-// G.affecting << "\red You suddenly feel the grip around your neck being loosened!"
-// visible_message("\red [src] suddenly loosens it's grip due to being observed!")
-// G.state = GRAB_AGGRESSIVE
-
-/mob/living/simple_animal/sculpture/attackby(var/obj/item/O as obj, var/mob/user as mob)
- ..()
-
-/mob/living/simple_animal/sculpture/Topic(href, href_list)
- ..()
-
-/mob/living/simple_animal/sculpture/Bump(atom/movable/AM as mob, yes)
- if(!G)
- GrabMob(AM)
-
-/mob/living/simple_animal/sculpture/Bumped(atom/movable/AM as mob, yes)
- if(!G)
- GrabMob(AM)
-
-/mob/living/simple_animal/sculpture/ex_act(var/severity)
- //nothing
\ No newline at end of file
diff --git a/code/WorkInProgress/Cael_Aislinn/unknown.dmi b/code/WorkInProgress/Cael_Aislinn/unknown.dmi
deleted file mode 100644
index e254c101973..00000000000
Binary files a/code/WorkInProgress/Cael_Aislinn/unknown.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Chinsky/overmap/README.dm b/code/WorkInProgress/Chinsky/overmap/README.dm
deleted file mode 100644
index d11ea1fdee2..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/README.dm
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-The overmap system allows adding new maps to the big 'galaxy' map.
-Idea is that new sectors can be added by just ticking in new maps and recompiling.
-Not real hot-plugging, but still pretty modular.
-It uses the fact that all ticked in .dme maps are melded together into one as different zlevels.
-Metaobjects are used to make it not affected by map order in .dme and carry some additional info.
-
-*************************************************************
-Metaobject
-*************************************************************
-/obj/effect/mapinfo, sectors.dm
-Used to build overmap in beginning, has basic information needed to create overmap objects and make shuttles work.
-Its name and icon (if non-standard) vars will be applied to resulting overmap object.
-'mapy' and 'mapx' vars are optional, sector will be assigned random overmap coordinates if they are not set.
-Has two important vars:
- obj_type - type of overmap object it spawns. Could be overriden for custom overmap objects.
- landing_area - type of area used as inbound shuttle landing, null if no shuttle landing area.
-
-Object could be placed anywhere on zlevel. Should only be placed on zlevel that should appear on overmap as a separate entitety.
-Right after creation it sends itself to nullspace and creates an overmap object, corresponding to this zlevel.
-
-*************************************************************
-Overmap object
-*************************************************************
-/obj/effect/map, sectors.dm
-Represents a zlevel on the overmap. Spawned by metaobjects at the startup.
- var/area/shuttle/shuttle_landing - keeps a reference to the area of where inbound shuttles should land
-
--CanPass should be overriden for access restrictions
--Crossed/Uncrossed can be overriden for applying custom effects.
-Remember to call ..() in children, it updates ship's current sector.
-
-subtype /ship of this object represents spacefaring vessels.
-It has 'current_sector' var that keeps refernce to, well, sector ship currently in.
-
-*************************************************************
-Helm console
-*************************************************************
-/obj/machinery/computer/helm, helm.dm
-On creation console seeks a ship overmap object corresponding to this zlevel and links it.
-Clicking with empty hand on it starts steering, Cancel-Camera-View stops it.
-Helm console relays movement of mob to the linked overmap object.
-Helm console currently has no interface. All travel happens instanceously too.
-Sector shuttles are not supported currently, only ship shuttles.
-
-*************************************************************
-Exploration shuttle terminal
-*************************************************************
-A generic shuttle controller.
-Has a var landing_type defining type of area shuttle should be landing at.
-On initalizing, checks for a shuttle corresponding to this zlevel, and creates one if it's not there.
-Changes desitnation area depending on current sector ship is in.
-Currently updating is called in attack_hand(), until a better place is found.
-Currently no modifications were made to interface to display availability of landing area in sector.
-
-
-*************************************************************
-Guide to how make new sector
-*************************************************************
-0.Map
-Remember to define shuttle areas if you want sector be accessible via shuttles.
-Currently there are no other ways to reach sectors from ships.
-In examples, 4x6 shuttle area is used. In case of shuttle area being too big, it will apear in bottom left corner of it.
-
-Remember to put a helm console and engine control console on ship maps.
-Ships need engines to move. Currently there are only thermal engines.
-Thermal engines are just a unary atmopheric machine, like a vent. They need high-pressure gas input to produce more thrust.
-
-
-1.Metaobject
-All vars needed for it to work could be set directly in map editor, so in most cases you won't have to define new in code.
-Remember to set landing_area var for sectors.
-
-2.Overmap object
-If you need custom behaviour on entering/leaving this sector, or restricting access to it, you can define your custom map object.
-Remember to put this new type into spawn_type var of metaobject.
-
-3.Shuttle console
-Remember to place one on the actual shuttle too, or it won't be able to return from sector without ship-side recall.
-Remember to set landing_type var to ship-side shuttle area type.
-shuttle_tag can be set to custom name (it shows up in console interface)
-
-5.Engines
-Actual engines could be any type of machinery, as long as it creates a ship_engine datum for itself.
-
-6.Tick map in and compile.
-Sector should appear on overmap (in random place if you didn't set mapx,mapy)
-
-
-TODO:
-more mechanics to moving ship:
- actually working engine objects
- unary atmospheric machinery
- give more thrust the more pressure gas has
- ships have mass var, which is used to caalculate how much acceleration those engines give
-better space travel / stragglers handling
-shuttle console:
- checking occupied pad or not with docking controllers
- ?landing pad size detection
-non-zlevel overmap objects
- field generator
- meteor fields
- speed-based chance for a rock in the ship
- debris fields
- speed-based chance of
- debirs in the ship
- a drone
- EMP
- nebulaes
-*/
\ No newline at end of file
diff --git a/code/WorkInProgress/Chinsky/overmap/_defines.dm b/code/WorkInProgress/Chinsky/overmap/_defines.dm
deleted file mode 100644
index dfc0881ed53..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/_defines.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-//Zlevel where overmap objects should be
-#define OVERMAP_ZLEVEL 1
-//How far from the edge of overmap zlevel could randomly placed objects spawn
-#define OVERMAP_EDGE 7
-
-//list used to track which zlevels are being 'moved' by the proc below
-var/list/moving_levels = list()
-//Proc to 'move' stars in spess
-//yes it looks ugly, but it should only fire when state actually change.
-//null direction stops movement
-proc/toggle_move_stars(zlevel, direction)
- if(!zlevel)
- return
-
- var/gen_dir = null
- if(direction & (NORTH|SOUTH))
- gen_dir += "ns"
- else if(direction & (EAST|WEST))
- gen_dir += "ew"
- if(!direction)
- gen_dir = null
-
- if (moving_levels["zlevel"] != gen_dir)
- moving_levels["zlevel"] = gen_dir
- for(var/turf/space/S in world)
- if(S.z == zlevel)
- spawn(0)
- var/turf/T = S
- if(!gen_dir)
- T.icon_state = "[((T.x + T.y) ^ ~(T.x * T.y) + T.z) % 25]"
- else
- T.icon_state = "speedspace_[gen_dir]_[rand(1,15)]"
- for(var/atom/movable/AM in T)
- if (!AM.anchored)
- AM.throw_at(get_step(T,reverse_direction(direction)), 5, 1)
\ No newline at end of file
diff --git a/code/WorkInProgress/Chinsky/overmap/sectors.dm b/code/WorkInProgress/Chinsky/overmap/sectors.dm
deleted file mode 100644
index 9e1635a9602..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/sectors.dm
+++ /dev/null
@@ -1,95 +0,0 @@
-
-//===================================================================================
-//Hook for building overmap
-//===================================================================================
-var/global/list/map_sectors = list()
-
-/hook/startup/proc/build_map()
- accessable_z_levels = list() //no space travel with this system, at least not like this
- testing("Building overmap...")
- var/obj/effect/mapinfo/data
- for(var/level in 1 to world.maxz)
- data = locate("sector[level]")
- if (data)
- testing("Located sector \"[data.name]\" at [data.mapx],[data.mapy] corresponding to zlevel [level]")
- map_sectors["[level]"] = new data.obj_type(data)
- return 1
-
-//===================================================================================
-//Metaobject for storing information about sector this zlevel is representing.
-//Should be placed only once on every zlevel.
-//===================================================================================
-/obj/effect/mapinfo/
- name = "map info metaobject"
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x2"
- invisibility = 101
- var/obj_type //type of overmap object it spawns
- var/landing_area //type of area used as inbound shuttle landing, null if no shuttle landing area
- var/zlevel
- var/mapx //coordinates on the
- var/mapy //overmap zlevel
- var/known = 1
-
-/obj/effect/mapinfo/New()
- tag = "sector[z]"
- zlevel = z
- loc = null
-
-/obj/effect/mapinfo/sector
- name = "generic sector"
- obj_type = /obj/effect/map/sector
-
-/obj/effect/mapinfo/ship
- name = "generic ship"
- obj_type = /obj/effect/map/ship
-
-
-//===================================================================================
-//Overmap object representing zlevel
-//===================================================================================
-
-/obj/effect/map
- name = "map object"
- icon = 'icons/obj/items.dmi'
- icon_state = "sheet-plasteel"
- var/map_z = 0
- var/area/shuttle/shuttle_landing
- var/always_known = 1
-
-/obj/effect/map/New(var/obj/effect/mapinfo/data)
- map_z = data.zlevel
- name = data.name
- always_known = data.known
- if (data.icon != 'icons/mob/screen1.dmi')
- icon = data.icon
- icon_state = data.icon_state
- if(data.desc)
- desc = data.desc
- var/new_x = data.mapx ? data.mapx : rand(OVERMAP_EDGE, world.maxx - OVERMAP_EDGE)
- var/new_y = data.mapy ? data.mapy : rand(OVERMAP_EDGE, world.maxy - OVERMAP_EDGE)
- loc = locate(new_x, new_y, OVERMAP_ZLEVEL)
-
- if(data.landing_area)
- shuttle_landing = locate(data.landing_area)
-
-/obj/effect/map/CanPass(atom/movable/A)
- testing("[A] attempts to enter sector\"[name]\"")
- return 1
-
-/obj/effect/map/Crossed(atom/movable/A)
- testing("[A] has entered sector\"[name]\"")
- if (istype(A,/obj/effect/map/ship))
- var/obj/effect/map/ship/S = A
- S.current_sector = src
-
-/obj/effect/map/Uncrossed(atom/movable/A)
- testing("[A] has left sector\"[name]\"")
- if (istype(A,/obj/effect/map/ship))
- var/obj/effect/map/ship/S = A
- S.current_sector = null
-
-/obj/effect/map/sector
- name = "generic sector"
- desc = "Sector with some stuff in it."
- anchored = 1
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm
deleted file mode 100644
index 41f2c4cdf9d..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm
+++ /dev/null
@@ -1,99 +0,0 @@
-//Engine control and monitoring console
-
-/obj/machinery/computer/engines
- name = "engines control console"
- icon_state = "id"
- var/state = "status"
- var/list/engines = list()
- var/obj/effect/map/ship/linked
-
-/obj/machinery/computer/engines/initialize()
- linked = map_sectors["[z]"]
- if (linked)
- if (!linked.eng_control)
- linked.eng_control = src
- testing("Engines console at level [z] found a corresponding overmap object '[linked.name]'.")
- else
- testing("Engines console at level [z] was unable to find a corresponding overmap object.")
-
- for(var/datum/ship_engine/E in engines)
- if (E.zlevel == z && !(E in engines))
- engines += E
-
-/obj/machinery/computer/engines/attack_hand(var/mob/user as mob)
- if(..())
- user.unset_machine()
- return
-
- if(!isAI(user))
- user.set_machine(src)
-
- ui_interact(user)
-
-/obj/machinery/computer/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
- if(!linked)
- return
-
- var/data[0]
- data["state"] = state
-
- var/list/enginfo[0]
- for(var/datum/ship_engine/E in engines)
- var/list/rdata[0]
- rdata["eng_type"] = E.name
- rdata["eng_on"] = E.is_on()
- rdata["eng_thrust"] = E.get_thrust()
- rdata["eng_thrust_limiter"] = round(E.get_thrust_limit()*100)
- rdata["eng_status"] = E.get_status()
- rdata["eng_reference"] = "\ref[E]"
- enginfo.Add(list(rdata))
-
- data["engines_info"] = enginfo
-
- ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
- if (!ui)
- ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 380, 530)
- ui.set_initial_data(data)
- ui.open()
- ui.set_auto_update(1)
-
-/obj/machinery/computer/engines/Topic(href, href_list)
- if(..())
- return
-
- if(href_list["state"])
- state = href_list["state"]
-
- if(href_list["engine"])
- if(href_list["set_limit"])
- var/datum/ship_engine/E = locate(href_list["engine"])
- var/newlim = input("Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit()) as num
- var/limit = Clamp(newlim/100, 0, 1)
- if(E)
- E.set_thrust_limit(limit)
-
- if(href_list["limit"])
- var/datum/ship_engine/E = locate(href_list["engine"])
- var/limit = Clamp(E.get_thrust_limit() + text2num(href_list["limit"]), 0, 1)
- if(E)
- E.set_thrust_limit(limit)
-
- if(href_list["toggle"])
- var/datum/ship_engine/E = locate(href_list["engine"])
- if(E)
- E.toggle()
-
- add_fingerprint(usr)
- updateUsrDialog()
-
-/obj/machinery/computer/engines/proc/burn()
- if(engines.len == 0)
- return 0
- var/res = 0
- for(var/datum/ship_engine/E in engines)
- res |= E.burn()
- return res
-
-/obj/machinery/computer/engines/proc/get_total_thrust()
- for(var/datum/ship_engine/E in engines)
- . += E.get_thrust()
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm
deleted file mode 100644
index d78934f5749..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm
+++ /dev/null
@@ -1,174 +0,0 @@
-/obj/machinery/computer/helm
- name = "helm control console"
- icon_state = "id"
- var/state = "status"
- var/obj/effect/map/ship/linked //connected overmap object
- var/autopilot = 0
- var/manual_control = 0
- var/list/known_sectors = list()
- var/dx //desitnation
- var/dy //coordinates
-
-/obj/machinery/computer/helm/initialize()
- linked = map_sectors["[z]"]
- if (linked)
- if(!linked.nav_control)
- linked.nav_control = src
- testing("Helm console at level [z] found a corresponding overmap object '[linked.name]'.")
- else
- testing("Helm console at level [z] was unable to find a corresponding overmap object.")
-
- for(var/level in map_sectors)
- var/obj/effect/map/sector/S = map_sectors["[level]"]
- if (istype(S) && S.always_known)
- var/datum/data/record/R = new()
- R.fields["name"] = S.name
- R.fields["x"] = S.x
- R.fields["y"] = S.y
- known_sectors += R
-
-/obj/machinery/computer/helm/process()
- ..()
- if (autopilot && dx && dy)
- var/turf/T = locate(dx,dy,1)
- if(linked.loc == T)
- if(linked.is_still())
- autopilot = 0
- else
- linked.decelerate()
-
- var/brake_path = linked.get_brake_path()
-
- if(get_dist(linked.loc, T) > brake_path)
- linked.accelerate(get_dir(linked.loc, T))
- else
- linked.decelerate()
-
- return
-
-/obj/machinery/computer/helm/relaymove(var/mob/user, direction)
- if(manual_control && linked)
- linked.relaymove(user,direction)
- return 1
-
-/obj/machinery/computer/helm/check_eye(var/mob/user as mob)
- if (!manual_control)
- return null
- if (!get_dist(user, src) > 1 || user.blinded || !linked )
- return null
- user.reset_view(linked)
- return 1
-
-/obj/machinery/computer/helm/attack_hand(var/mob/user as mob)
- if(..())
- user.unset_machine()
- manual_control = 0
- return
-
- if(!isAI(user))
- user.set_machine(src)
-
- ui_interact(user)
-
-/obj/machinery/computer/helm/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
- if(!linked)
- return
-
- var/data[0]
- data["state"] = state
-
- data["sector"] = linked.current_sector ? linked.current_sector.name : "Deep Space"
- data["sector_info"] = linked.current_sector ? linked.current_sector.desc : "Not Available"
- data["s_x"] = linked.x
- data["s_y"] = linked.y
- data["dest"] = dy && dx
- data["d_x"] = dx
- data["d_y"] = dy
- data["speed"] = linked.get_speed()
- data["accel"] = round(linked.get_acceleration())
- data["heading"] = linked.get_heading() ? dir2angle(linked.get_heading()) : 0
- data["autopilot"] = autopilot
- data["manual_control"] = manual_control
-
- var/list/locations[0]
- for (var/datum/data/record/R in known_sectors)
- var/list/rdata[0]
- rdata["name"] = R.fields["name"]
- rdata["x"] = R.fields["x"]
- rdata["y"] = R.fields["y"]
- rdata["reference"] = "\ref[R]"
- locations.Add(list(rdata))
-
- data["locations"] = locations
-
- ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
- if (!ui)
- ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 380, 530)
- ui.set_initial_data(data)
- ui.open()
- ui.set_auto_update(1)
-
-/obj/machinery/computer/helm/Topic(href, href_list)
- if(..())
- return
-
- if (!linked)
- return
-
- if (href_list["add"])
- var/datum/data/record/R = new()
- var/sec_name = input("Input naviation entry name", "New navigation entry", "Sector #[known_sectors.len]") as text
- if(!sec_name)
- sec_name = "Sector #[known_sectors.len]"
- R.fields["name"] = sec_name
- switch(href_list["add"])
- if("current")
- R.fields["x"] = linked.x
- R.fields["y"] = linked.y
- if("new")
- var/newx = input("Input new entry x coordinate", "Coordinate input", linked.x) as num
- R.fields["x"] = Clamp(newx, 1, world.maxx)
- var/newy = input("Input new entry y coordinate", "Coordinate input", linked.y) as num
- R.fields["y"] = Clamp(newy, 1, world.maxy)
- known_sectors += R
-
- if (href_list["remove"])
- var/datum/data/record/R = locate(href_list["remove"])
- known_sectors.Remove(R)
-
- if (href_list["setx"])
- var/newx = input("Input new destiniation x coordinate", "Coordinate input", dx) as num|null
- if (newx)
- dx = Clamp(newx, 1, world.maxx)
-
- if (href_list["sety"])
- var/newy = input("Input new destiniation y coordinate", "Coordinate input", dy) as num|null
- if (newy)
- dy = Clamp(newy, 1, world.maxy)
-
- if (href_list["x"] && href_list["y"])
- dx = text2num(href_list["x"])
- dy = text2num(href_list["y"])
-
- if (href_list["reset"])
- dx = 0
- dy = 0
-
- if (href_list["move"])
- var/ndir = text2num(href_list["move"])
- linked.relaymove(usr, ndir)
-
- if (href_list["brake"])
- linked.decelerate()
-
- if (href_list["apilot"])
- autopilot = !autopilot
-
- if (href_list["manual"])
- manual_control = !manual_control
-
- if (href_list["state"])
- state = href_list["state"]
- add_fingerprint(usr)
- updateUsrDialog()
-
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm
deleted file mode 100644
index 4ebc9469da3..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm
+++ /dev/null
@@ -1,139 +0,0 @@
-//Shuttle controller computer for shuttles going between sectors
-/datum/shuttle/ferry/var/range = 0 //how many overmap tiles can shuttle go, for picking destinatiosn and returning.
-/obj/machinery/computer/shuttle_control/explore
- name = "exploration shuttle console"
- shuttle_tag = "Exploration"
- req_access = list()
- var/landing_type //area for shuttle ship-side
- var/obj/effect/map/destination //current destination
- var/obj/effect/map/home //current destination
-
-/obj/machinery/computer/shuttle_control/explore/initialize()
- ..()
- home = map_sectors["[z]"]
- shuttle_tag = "[shuttle_tag]-[z]"
- if(!shuttle_controller.shuttles[shuttle_tag])
- var/datum/shuttle/ferry/shuttle = new()
- shuttle.warmup_time = 10
- shuttle.area_station = locate(landing_type)
- shuttle.area_offsite = shuttle.area_station
- shuttle_controller.shuttles[shuttle_tag] = shuttle
- shuttle_controller.process_shuttles += shuttle
- testing("Exploration shuttle '[shuttle_tag]' at zlevel [z] successfully added.")
-
-//Sets destination to new sector. Can be null.
-/obj/machinery/computer/shuttle_control/explore/proc/update_destination(var/obj/effect/map/D)
- destination = D
- if(destination && shuttle_controller.shuttles[shuttle_tag])
- var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
- shuttle.area_offsite = destination.shuttle_landing
- testing("Shuttle controller [shuttle_tag] now sends shuttle to [destination]")
- shuttle_controller.shuttles[shuttle_tag] = shuttle
-
-//Gets all sectors with landing zones in shuttle's range
-/obj/machinery/computer/shuttle_control/explore/proc/get_possible_destinations()
- var/list/res = list()
- var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
- for (var/obj/effect/map/S in orange(shuttle.range, home))
- if(S.shuttle_landing)
- res += S
- return res
-
-//Checks if current destination is still reachable
-/obj/machinery/computer/shuttle_control/explore/proc/check_destination()
- var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
- return shuttle && destination && get_dist(home, destination) <= shuttle.range
-
-/obj/machinery/computer/shuttle_control/explore/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
- var/data[0]
- var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
- if (!istype(shuttle))
- return
-
- //If we are already there, or can't reach place anymore, reset destination
- if(!shuttle.location && !check_destination())
- destination = null
-
- //check if shuttle can fly at all
- var/can_go = !isnull(destination)
- var/current_destination = destination ? destination.name : "None"
- //shuttle doesn't need destination set to return home, as long as it's in range.
- if(shuttle.location)
- current_destination = "Return"
- var/area/offsite = shuttle.area_offsite
- var/obj/effect/map/cur_loc = map_sectors["[offsite.z]"]
- can_go = (get_dist(home,cur_loc) <= shuttle.range)
-
- //disable picking locations if there are none, or shuttle is already off-site
- var/list/possible_d = get_possible_destinations()
- var/can_pick = !shuttle.location && possible_d.len
-
- var/shuttle_state
- switch(shuttle.moving_status)
- if(SHUTTLE_IDLE) shuttle_state = "idle"
- if(SHUTTLE_WARMUP) shuttle_state = "warmup"
- if(SHUTTLE_INTRANSIT) shuttle_state = "in_transit"
-
- var/shuttle_status
- switch (shuttle.process_state)
- if(IDLE_STATE)
- if (shuttle.in_use)
- shuttle_status = "Busy."
- else if (!shuttle.location)
- shuttle_status = "Standing-by at station."
- else
- shuttle_status = "Standing-by at offsite location."
- if(WAIT_LAUNCH)
- shuttle_status = "Shuttle has recieved command and will depart shortly."
- if(WAIT_ARRIVE)
- shuttle_status = "Proceeding to destination."
- if(WAIT_FINISH)
- shuttle_status = "Arriving at destination now."
-
- data = list(
- "destination_name" = current_destination,
- "can_pick" = can_pick,
- "shuttle_status" = shuttle_status,
- "shuttle_state" = shuttle_state,
- "has_docking" = shuttle.docking_controller? 1 : 0,
- "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null,
- "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null,
- "can_launch" = can_go && shuttle.can_launch(),
- "can_cancel" = can_go && shuttle.can_cancel(),
- "can_force" = can_go && shuttle.can_force(),
- )
-
- ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
-
- if (!ui)
- ui = new(user, src, ui_key, "shuttle_control_console_exploration.tmpl", "[shuttle_tag] Shuttle Control", 470, 310)
- ui.set_initial_data(data)
- ui.open()
- ui.set_auto_update(1)
-
-/obj/machinery/computer/shuttle_control/explore/Topic(href, href_list)
- if(..())
- return
-
- usr.set_machine(src)
- src.add_fingerprint(usr)
-
- var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
- if (!istype(shuttle))
- return
-
- if(href_list["pick"])
- var/obj/effect/map/self = map_sectors["[z]"]
- if(self)
- var/list/possible_d = get_possible_destinations()
- var/obj/effect/map/D
- if(possible_d.len)
- D = input("Choose shuttle destination", "Shuttle Destination") as null|anything in possible_d
- update_destination(D)
-
- if(href_list["move"])
- shuttle.launch(src)
- if(href_list["force"])
- shuttle.force_launch(src)
- else if(href_list["cancel"])
- shuttle.cancel_launch(src)
\ No newline at end of file
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm b/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm
deleted file mode 100644
index 80690aa84dc..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm
+++ /dev/null
@@ -1,60 +0,0 @@
-//Engine component object
-
-var/list/ship_engines = list()
-/datum/ship_engine
- var/name = "ship engine"
- var/obj/machinery/engine //actual engine object
- var/zlevel = 0
-
-/datum/ship_engine/New(var/obj/machinery/holder)
- engine = holder
- zlevel = holder.z
- for(var/obj/machinery/computer/engines/E in machines)
- if (E.z == zlevel && !(src in E.engines))
- E.engines += src
- break
-
-//Tries to fire the engine. If successfull, returns 1
-/datum/ship_engine/proc/burn()
- if(!engine)
- die()
- return 1
-
-//Returns status string for this engine
-/datum/ship_engine/proc/get_status()
- if(!engine)
- die()
- return "All systems nominal"
-
-/datum/ship_engine/proc/get_thrust()
- if(!engine)
- die()
- return 100
-
-//Sets thrust limiter, a number between 0 and 1
-/datum/ship_engine/proc/set_thrust_limit(var/new_limit)
- if(!engine)
- die()
- return 1
-
-/datum/ship_engine/proc/get_thrust_limit()
- if(!engine)
- die()
- return 1
-
-/datum/ship_engine/proc/is_on()
- if(!engine)
- die()
- return 1
-
-/datum/ship_engine/proc/toggle()
- if(!engine)
- die()
- return 1
-
-/datum/ship_engine/proc/die()
- for(var/obj/machinery/computer/engines/E in machines)
- if (E.z == zlevel)
- E.engines -= src
- break
- del(src)
\ No newline at end of file
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm b/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm
deleted file mode 100644
index b26e7216389..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm
+++ /dev/null
@@ -1,99 +0,0 @@
-//Thermal nozzle engine
-/datum/ship_engine/thermal
- name = "thermal engine"
-
-/datum/ship_engine/thermal/get_status()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- return "Fuel pressure: [E.air_contents.return_pressure()]"
-
-/datum/ship_engine/thermal/get_thrust()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- if(!is_on())
- return 0
- var/pressurized_coef = E.air_contents.return_pressure()/E.effective_pressure
- return round(E.thrust_limit * E.nominal_thrust * pressurized_coef)
-
-/datum/ship_engine/thermal/burn()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- return E.burn()
-
-/datum/ship_engine/thermal/set_thrust_limit(var/new_limit)
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- E.thrust_limit = new_limit
-
-/datum/ship_engine/thermal/get_thrust_limit()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- return E.thrust_limit
-
-/datum/ship_engine/thermal/is_on()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- return E.on
-
-/datum/ship_engine/thermal/toggle()
- ..()
- var/obj/machinery/atmospherics/unary/engine/E = engine
- E.on = !E.on
-
-//Actual thermal nozzle engine object
-
-/obj/machinery/atmospherics/unary/engine
- name = "engine nozzle"
- desc = "Simple thermal nozzle, uses heated gast to propell the ship."
- icon = 'icons/obj/ship_engine.dmi'
- icon_state = "nozzle"
- var/on = 1
- var/thrust_limit = 1 //Value between 1 and 0 to limit the resulting thrust
- var/nominal_thrust = 3000
- var/effective_pressure = 3000
- var/datum/ship_engine/thermal/controller
-
-/obj/machinery/atmospherics/unary/engine/initialize()
- ..()
- controller = new(src)
-
-/obj/machinery/atmospherics/unary/engine/Del()
- ..()
- controller.die()
-
-/obj/machinery/atmospherics/unary/engine/proc/burn()
- if (!on)
- return
- if(air_contents.temperature > 0)
- var/transfer_moles = 100 * air_contents.volume/max(air_contents.temperature * R_IDEAL_GAS_EQUATION, 0,01)
- transfer_moles = round(thrust_limit * transfer_moles, 0.01)
- if(transfer_moles > air_contents.total_moles)
- on = !on
- return 0
-
- var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
-
- loc.assume_air(removed)
- if(air_contents.temperature > PHORON_MINIMUM_BURN_TEMPERATURE)
- var/exhaust_dir = reverse_direction(dir)
- var/turf/T = get_step(src,exhaust_dir)
- if(T)
- new/obj/effect/engine_exhaust(T,exhaust_dir,air_contents.temperature)
- return 1
-
-//Exhaust effect
-/obj/effect/engine_exhaust
- name = "engine exhaust"
- icon = 'icons/effects/effects.dmi'
- icon_state = "exhaust"
- anchored = 1
-
- New(var/turf/nloc, var/ndir, var/temp)
- dir = ndir
- ..(nloc)
-
- if(nloc)
- nloc.hotspot_expose(temp,125)
-
- spawn(20)
- loc = null
\ No newline at end of file
diff --git a/code/WorkInProgress/Chinsky/overmap/ships/ship.dm b/code/WorkInProgress/Chinsky/overmap/ships/ship.dm
deleted file mode 100644
index b080c41b071..00000000000
--- a/code/WorkInProgress/Chinsky/overmap/ships/ship.dm
+++ /dev/null
@@ -1,105 +0,0 @@
-/obj/effect/map/ship
- name = "generic ship"
- desc = "Space faring vessel."
- icon_state = "sheet-sandstone"
- var/vessel_mass = 9000 //tonnes, random number
- var/default_delay = 60
- var/list/speed = list(0,0)
- var/last_burn = 0
- var/list/last_movement = list(0,0)
- var/fore_dir = NORTH
-
- var/obj/effect/map/current_sector
- var/obj/machinery/computer/helm/nav_control
- var/obj/machinery/computer/engines/eng_control
-
-/obj/effect/map/ship/initialize()
- for(var/obj/machinery/computer/engines/E in machines)
- if (E.z == map_z)
- eng_control = E
- break
- for(var/obj/machinery/computer/helm/H in machines)
- if (H.z == map_z)
- nav_control = H
- break
- processing_objects.Add(src)
-
-/obj/effect/map/ship/relaymove(mob/user, direction)
- accelerate(direction)
-
-/obj/effect/map/ship/proc/is_still()
- return !(speed[1] || speed[2])
-
-/obj/effect/map/ship/proc/get_acceleration()
- return eng_control.get_total_thrust()/vessel_mass
-
-/obj/effect/map/ship/proc/get_speed()
- return round(sqrt(speed[1]*speed[1] + speed[2]*speed[2]))
-
-/obj/effect/map/ship/proc/get_heading()
- var/res = 0
- if(speed[1])
- if(speed[1] > 0)
- res |= EAST
- else
- res |= WEST
- if(speed[2])
- if(speed[2] > 0)
- res |= NORTH
- else
- res |= SOUTH
- return res
-
-/obj/effect/map/ship/proc/adjust_speed(n_x, n_y)
- speed[1] = Clamp(speed[1] + n_x, -default_delay, default_delay)
- speed[2] = Clamp(speed[2] + n_y, -default_delay, default_delay)
- if(is_still())
- toggle_move_stars(map_z)
- else
- toggle_move_stars(map_z, fore_dir)
-
-/obj/effect/map/ship/proc/can_burn()
- if (!eng_control)
- return 0
- if (world.time < last_burn + 10)
- return 0
- if (!eng_control.burn())
- return 0
- return 1
-
-/obj/effect/map/ship/proc/get_brake_path()
- if(!get_acceleration())
- return INFINITY
- return max(abs(speed[1]),abs(speed[2]))/get_acceleration()
-
-/obj/effect/map/ship/proc/decelerate()
- if(!is_still() && can_burn())
- if (speed[1])
- adjust_speed(-SIGN(speed[1]) * min(get_acceleration(),speed[1]), 0)
- if (speed[2])
- adjust_speed(0, -SIGN(speed[2]) * min(get_acceleration(),speed[2]))
- last_burn = world.time
-
-/obj/effect/map/ship/proc/accelerate(direction)
- if(can_burn())
- last_burn = world.time
-
- if(direction & EAST)
- adjust_speed(get_acceleration(), 0)
- if(direction & WEST)
- adjust_speed(-get_acceleration(), 0)
- if(direction & NORTH)
- adjust_speed(0, get_acceleration())
- if(direction & SOUTH)
- adjust_speed(0, -get_acceleration())
-
-/obj/effect/map/ship/process()
- if(!is_still())
- var/list/deltas = list(0,0)
- for(var/i=1, i<=2, i++)
- if(speed[i] && world.time > last_movement[i] + default_delay - speed[i])
- deltas[i] = speed[i] > 0 ? 1 : -1
- last_movement[i] = world.time
- var/turf/newloc = locate(x + deltas[1], y + deltas[2], z)
- if(newloc)
- Move(newloc)
\ No newline at end of file
diff --git a/code/WorkInProgress/Cib/amorph/amorph.dm b/code/WorkInProgress/Cib/amorph/amorph.dm
deleted file mode 100644
index dd1a678f47a..00000000000
--- a/code/WorkInProgress/Cib/amorph/amorph.dm
+++ /dev/null
@@ -1,590 +0,0 @@
-/mob/living/carbon/amorph
- name = "amorph"
- real_name = "amorph"
- voice_name = "amorph"
- icon = 'icons/mob/amorph.dmi'
- icon_state = ""
-
-
- var/species = "Amorph"
- age = 30.0
-
- var/used_skillpoints = 0
- var/skill_specialization = null
- var/list/skills = null
-
- var/obj/item/l_ear = null
-
- // might use this later to recolor armorphs with icon.SwapColor
- var/slime_color = null
-
- var/examine_text = ""
-
-
-/mob/living/carbon/amorph/New()
-
- ..()
-
- // Amorphs don't have a blood vessel, but they can have reagents in their body
- var/datum/reagents/R = new/datum/reagents(1000)
- reagents = R
- R.my_atom = src
-
- // Amorphs have no DNA(they're more like carbon-based machines)
-
- // Amorphs don't have organs
- ..()
-
-/mob/living/carbon/amorph/Bump(atom/movable/AM as mob|obj, yes)
- if ((!( yes ) || now_pushing))
- return
- now_pushing = 1
- if (ismob(AM))
- var/mob/tmob = AM
-
-//BubbleWrap - Should stop you pushing a restrained person out of the way
-
- if(istype(tmob, /mob/living/carbon/human))
-
- for(var/mob/M in range(tmob, 1))
- if( ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) )
- if ( !(world.time % 5) )
- src << "\red [tmob] is restrained, you cannot push past"
- now_pushing = 0
- return
- if( tmob.pulling == M && ( M.restrained() && !( tmob.restrained() ) && tmob.stat == 0) )
- if ( !(world.time % 5) )
- src << "\red [tmob] is restraining [M], you cannot push past"
- now_pushing = 0
- return
-
- //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
- if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around!
- var/turf/oldloc = loc
- loc = tmob.loc
- tmob.loc = oldloc
- now_pushing = 0
- for(var/mob/living/carbon/metroid/Metroid in view(1,tmob))
- if(Metroid.Victim == tmob)
- Metroid.UpdateFeed()
- return
-
- if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot))
- if(prob(99))
- now_pushing = 0
- return
- if(tmob.l_hand && istype(tmob.l_hand, /obj/item/weapon/shield/riot))
- if(prob(99))
- now_pushing = 0
- return
- if(tmob.nopush)
- now_pushing = 0
- return
-
- tmob.LAssailant = src
-
- now_pushing = 0
- spawn(0)
- ..()
- if (!istype(AM, /atom/movable))
- return
- if (!now_pushing)
- now_pushing = 1
-
- if (!AM.anchored)
- var/t = get_dir(src, AM)
- if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
- for(var/obj/structure/window/win in get_step(AM,t))
- now_pushing = 0
- return
- step(AM, t)
- now_pushing = 0
- return
- return
-
-/mob/living/carbon/amorph/movement_delay()
- var/tally = 2 // amorphs are a bit slower than humans
- var/mob/M = pulling
-
- if(reagents.has_reagent("hyperzine")) return -1
-
- if(reagents.has_reagent("nuka_cola")) return -1
-
- if(analgesic) return -1
-
- if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
-
- var/health_deficiency = traumatic_shock
- if(health_deficiency >= 40) tally += (health_deficiency / 25)
-
- var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
- if (hungry >= 70) tally += hungry/300
-
- if (bodytemperature < 283.222)
- tally += (283.222 - bodytemperature) / 10 * 1.75
- if (stuttering < 10)
- stuttering = 10
-
- if(shock_stage >= 10) tally += 3
-
- if(tally < 0)
- tally = 0
-
- if(istype(M) && M.lying) //Pulling lying down people is slower
- tally += 3
-
- if(mRun in mutations)
- tally = 0
-
- return tally
-
-/mob/living/carbon/amorph/Stat()
- ..()
- statpanel("Status")
-
- stat(null, "Intent: [a_intent]")
- stat(null, "Move Mode: [m_intent]")
- if(ticker && ticker.mode && ticker.mode.name == "AI malfunction")
- if(ticker.mode:malf_mode_declared)
- stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]")
- if(emergency_shuttle)
- if(emergency_shuttle.online && emergency_shuttle.location < 2)
- var/timeleft = emergency_shuttle.timeleft()
- if (timeleft)
- stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
-
- if (client.statpanel == "Status")
- if (internal)
- if (!internal.air_contents)
- del(internal)
- else
- stat("Internal Atmosphere Info", internal.name)
- stat("Tank Pressure", internal.air_contents.return_pressure())
- stat("Distribution Pressure", internal.distribute_pressure)
- if (mind)
- if (mind.special_role == "Changeling" && changeling)
- stat("Chemical Storage", changeling.chem_charges)
- stat("Genetic Damage Time", changeling.geneticdamage)
-
-/mob/living/carbon/amorph/ex_act(severity)
- flick("flash", flash)
-
- var/shielded = 0
- var/b_loss = null
- var/f_loss = null
- switch (severity)
- if (1.0)
- b_loss += 500
- if (!prob(getarmor(null, "bomb")))
- gib()
- return
- else
- var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
- throw_at(target, 200, 4)
-
- if (2.0)
- if (!shielded)
- b_loss += 60
-
- f_loss += 60
-
- if (!prob(getarmor(null, "bomb")))
- b_loss = b_loss/1.5
- f_loss = f_loss/1.5
-
- if(3.0)
- b_loss += 30
- if (!prob(getarmor(null, "bomb")))
- b_loss = b_loss/2
- if (prob(50) && !shielded)
- Paralyse(10)
-
- src.bruteloss += b_loss
- src.fireloss += f_loss
-
- UpdateDamageIcon()
-
-
-/mob/living/carbon/amorph/blob_act()
- if(stat == 2) return
- show_message("\red The blob attacks you!")
- src.bruteloss += rand(30,40)
- UpdateDamageIcon()
- return
-
-/mob/living/carbon/amorph/u_equip(obj/item/W as obj)
- // These are the only slots an amorph has
- if (W == l_ear)
- l_ear = null
- else if (W == r_hand)
- r_hand = null
-
- update_clothing()
-
-/mob/living/carbon/amorph/db_click(text, t1)
- var/obj/item/W = equipped()
- var/emptyHand = (W == null)
- if ((!emptyHand) && (!istype(W, /obj/item)))
- return
- if (emptyHand)
- usr.next_move = usr.prev_move
- usr:lastDblClick -= 3 //permit the double-click redirection to proceed.
- switch(text)
- if("l_ear")
- if (l_ear)
- if (emptyHand)
- l_ear.DblClick()
- return
- else if(emptyHand)
- return
- if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1)
- return
- u_equip(W)
- l_ear = W
- W.equipped(src, text)
-
- update_clothing()
-
- return
-
-/mob/living/carbon/amorph/meteorhit(O as obj)
- for(var/mob/M in viewers(src, null))
- if ((M.client && !( M.blinded )))
- M.show_message(text("\red [] has been hit by []", src, O), 1)
- if (health > 0)
- if (istype(O, /obj/effect/immovablerod))
- src.bruteloss += 101
- else
- src.bruteloss += 25
- UpdateDamageIcon()
- updatehealth()
- return
-
-/mob/living/carbon/amorph/Move(a, b, flag)
-
- if (buckled)
- return
-
- if (restrained())
- pulling = null
-
-
- var/t7 = 1
- if (restrained())
- for(var/mob/M in range(src, 1))
- if ((M.pulling == src && M.stat == 0 && !( M.restrained() )))
- t7 = null
- if ((t7 && (pulling && ((get_dist(src, pulling) <= 1 || pulling.loc == loc) && (client && client.moving)))))
- var/turf/T = loc
- . = ..()
-
- if (pulling && pulling.loc)
- if(!( isturf(pulling.loc) ))
- pulling = null
- return
- else
- if(Debug)
- diary <<"pulling disappeared? at [__LINE__] in mob.dm - pulling = [pulling]"
- diary <<"REPORT THIS"
-
- /////
- if(pulling && pulling.anchored)
- pulling = null
- return
-
- if (!restrained())
- var/diag = get_dir(src, pulling)
- if ((diag - 1) & diag)
- else
- diag = null
- if ((get_dist(src, pulling) > 1 || diag))
- if (ismob(pulling))
- var/mob/M = pulling
- var/ok = 1
- if (locate(/obj/item/weapon/grab, M.grabbed_by))
- if (prob(75))
- var/obj/item/weapon/grab/G = pick(M.grabbed_by)
- if (istype(G, /obj/item/weapon/grab))
- for(var/mob/O in viewers(M, null))
- O.show_message(text("\red [] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1)
- //G = null
- del(G)
- else
- ok = 0
- if (locate(/obj/item/weapon/grab, M.grabbed_by.len))
- ok = 0
- if (ok)
- var/t = M.pulling
- M.pulling = null
-
- //this is the gay blood on floor shit -- Added back -- Skie
- if (M.lying && (prob(M.getBruteLoss() / 6)))
- var/turf/location = M.loc
- if (istype(location, /turf/simulated))
- location.add_blood(M)
- if(ishuman(M))
- var/mob/living/carbon/H = M
- var/blood_volume = round(H:vessel.get_reagent_amount("blood"))
- if(blood_volume > 0)
- H:vessel.remove_reagent("blood",1)
- if(prob(5))
- M.adjustBruteLoss(1)
- visible_message("\red \The [M]'s wounds open more from being dragged!")
- if(M.pull_damage())
- if(prob(25))
- M.adjustBruteLoss(2)
- visible_message("\red \The [M]'s wounds worsen terribly from being dragged!")
- var/turf/location = M.loc
- if (istype(location, /turf/simulated))
- location.add_blood(M)
- if(ishuman(M))
- var/mob/living/carbon/H = M
- var/blood_volume = round(H:vessel.get_reagent_amount("blood"))
- if(blood_volume > 0)
- H:vessel.remove_reagent("blood",1)
-
- step(pulling, get_dir(pulling.loc, T))
- M.pulling = t
- else
- if (pulling)
- if (istype(pulling, /obj/structure/window))
- if(pulling:ini_dir == NORTHWEST || pulling:ini_dir == NORTHEAST || pulling:ini_dir == SOUTHWEST || pulling:ini_dir == SOUTHEAST)
- for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T)))
- pulling = null
- if (pulling)
- step(pulling, get_dir(pulling.loc, T))
- else
- pulling = null
- . = ..()
- if ((s_active && !( s_active in contents ) ))
- s_active.close(src)
-
- for(var/mob/living/carbon/metroid/M in view(1,src))
- M.UpdateFeed(src)
- return
-
-/mob/living/carbon/amorph/proc/misc_clothing_updates()
- // Temporary proc to shove stuff in that was put into update_clothing()
- // for questionable reasons
-
- if (client)
- if (i_select)
- if (intent)
- client.screen += hud_used.intents
-
- var/list/L = dd_text2list(intent, ",")
- L[1] += ":-11"
- i_select.screen_loc = dd_list2text(L,",") //ICONS4
- else
- i_select.screen_loc = null
- if (m_select)
- if (m_int)
- client.screen += hud_used.mov_int
-
- var/list/L = dd_text2list(m_int, ",")
- L[1] += ":-11"
- m_select.screen_loc = dd_list2text(L,",") //ICONS4
- else
- m_select.screen_loc = null
-
- // Probably a lazy way to make sure all items are on the screen exactly once
- if (client)
- client.screen -= contents
- client.screen += contents
-
-/mob/living/carbon/amorph/rebuild_appearance()
- // Lazy method: Just rebuild everything.
- // This can be called when the mob is created, but on other occasions, rebuild_body_overlays(),
- // rebuild_clothing_overlays() etc. should be called individually.
-
- misc_clothing_updates() // silly stuff
-
-/mob/living/carbon/amorph/update_body_appearance()
- // Should be called whenever something about the body appearance itself changes.
-
- misc_clothing_updates() // silly stuff
-
- if(lying)
- icon_state = "lying"
- else
- icon_state = "standing"
-
-/mob/living/carbon/amorph/update_lying()
- // Should be called whenever something about the lying status of the mob might have changed.
-
- if(lying)
- icon_state = "lying"
- else
- icon_state = "standing"
-
-/mob/living/carbon/amorph/hand_p(mob/M as mob)
- // not even sure what this is meant to do
- return
-
-/mob/living/carbon/amorph/restrained()
- if (handcuffed)
- return 0 // handcuffs don't work on amorphs
- return 0
-
-/mob/living/carbon/amorph/var/co2overloadtime = null
-/mob/living/carbon/amorph/var/temperature_resistance = T0C+75
-
-/mob/living/carbon/amorph/show_inv(mob/user as mob)
- // TODO: add a window for extracting stuff from an amorph's mouth
-
-// called when something steps onto an amorph
-// this could be made more general, but for now just handle mulebot
-/mob/living/carbon/amorph/HasEntered(var/atom/movable/AM)
- var/obj/machinery/bot/mulebot/MB = AM
- if(istype(MB))
- MB.RunOver(src)
-
-//gets assignment from ID or ID inside PDA or PDA itself
-//Useful when player do something with computers
-/mob/living/carbon/amorph/proc/get_assignment(var/if_no_id = "No id", var/if_no_job = "No job")
- // TODO: get the ID from the amorph's contents
- return
-
-//gets name from ID or ID inside PDA or PDA itself
-//Useful when player do something with computers
-/mob/living/carbon/amorph/proc/get_authentification_name(var/if_no_id = "Unknown")
- // TODO: get the ID from the amorph's contents
- return
-
-//repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere
-/mob/living/carbon/amorph/proc/get_visible_name()
- // amorphs can't wear clothes or anything, so always return face_name
- return get_face_name()
-
-//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
-/mob/living/carbon/amorph/proc/get_face_name()
- // there might later be ways for amorphs to change the appearance of their face
- return "[real_name]"
-
-
-//gets ID card object from special clothes slot or null.
-/mob/living/carbon/amorph/proc/get_idcard()
- // TODO: get the ID from the amorph's contents
-
-
-// heal the amorph
-/mob/living/carbon/amorph/heal_overall_damage(var/brute, var/burn)
- bruteloss -= brute
- fireloss -= burn
- bruteloss = max(bruteloss, 0)
- fireloss = max(fireloss, 0)
-
- updatehealth()
- UpdateDamageIcon()
-
-// damage MANY external organs, in random order
-/mob/living/carbon/amorph/take_overall_damage(var/brute, var/burn, var/used_weapon = null)
- bruteloss += brute
- fireloss += burn
-
- updatehealth()
- UpdateDamageIcon()
-
-/mob/living/carbon/amorph/Topic(href, href_list)
- if (href_list["refresh"])
- if((machine)&&(in_range(src, usr)))
- show_inv(machine)
-
- if (href_list["mach_close"])
- var/t1 = text("window=[]", href_list["mach_close"])
- machine = null
- src << browse(null, t1)
-
- if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e
- var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
- O.source = usr
- O.target = src
- O.item = usr.equipped()
- O.s_loc = usr.loc
- O.t_loc = loc
- O.place = href_list["item"]
- if(href_list["loc"])
- O.internalloc = href_list["loc"]
- requests += O
- spawn( 0 )
- O.process()
- return
-
- if (href_list["criminal"])
- if(istype(usr, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = usr
- if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
- var/perpname = "wot"
- var/modified = 0
-
- /*if(wear_id)
- if(istype(wear_id,/obj/item/weapon/card/id))
- perpname = wear_id:registered_name
- else if(istype(wear_id,/obj/item/device/pda))
- var/obj/item/device/pda/tempPda = wear_id
- perpname = tempPda.owner
- else*/
- perpname = src.name
-
- for (var/datum/data/record/E in data_core.general)
- if (E.fields["name"] == perpname)
- for (var/datum/data/record/R in data_core.security)
- if (R.fields["id"] == E.fields["id"])
-
- var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Released", "Cancel")
-
- if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
- if(setcriminal != "Cancel")
- R.fields["criminal"] = setcriminal
- modified = 1
-
- spawn()
- H.handle_regular_hud_updates()
-
- if(!modified)
- usr << "\red Unable to locate a data core entry for this person."
- ..()
- return
-
-
-///eyecheck()
-///Returns a number between -1 to 2
-/mob/living/carbon/amorph/eyecheck()
- return 1
-
-
-/mob/living/carbon/amorph/IsAdvancedToolUser()
- return 1//Amorphs can use guns and such
-
-
-/mob/living/carbon/amorph/updatehealth()
- if(src.nodamage)
- src.health = 100
- src.stat = 0
- return
- src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() - src.getCloneLoss() -src.halloss
- return
-
-/mob/living/carbon/amorph/abiotic(var/full_body = 0)
- return 0
-
-/mob/living/carbon/amorph/abiotic2(var/full_body2 = 0)
- return 0
-
-/mob/living/carbon/amorph/getBruteLoss()
- return src.bruteloss
-
-/mob/living/carbon/amorph/adjustBruteLoss(var/amount, var/used_weapon = null)
- src.bruteloss += amount
- if(bruteloss < 0) bruteloss = 0
-
-/mob/living/carbon/amorph/getFireLoss()
- return src.fireloss
-
-/mob/living/carbon/amorph/adjustFireLoss(var/amount,var/used_weapon = null)
- src.fireloss += amount
- if(fireloss < 0) fireloss = 0
-
-/mob/living/carbon/amorph/get_visible_gender()
- return gender
diff --git a/code/WorkInProgress/Cib/amorph/amorph_attack.dm b/code/WorkInProgress/Cib/amorph/amorph_attack.dm
deleted file mode 100644
index 188c682033d..00000000000
--- a/code/WorkInProgress/Cib/amorph/amorph_attack.dm
+++ /dev/null
@@ -1,248 +0,0 @@
-
-
-/mob/living/carbon/amorph/attack_paw(mob/living/carbon/monkey/M as mob)
- if (!ticker)
- M << "You cannot attack people before the game has started."
- return
-
- ..()
-
- switch(M.a_intent)
-
- if ("help")
- help_shake_act(M)
- else
- if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
- return
- if (health > 0)
- attacked += 10
- playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [M.name] has bit [src]!"), 1)
- adjustBruteLoss(rand(0, 1))
- updatehealth()
- return
-
-/mob/living/carbon/amorph/attack_hand(mob/living/carbon/human/M as mob)
-
- if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves))
- var/obj/item/clothing/gloves/G = M.gloves
- if(G.cell)
- if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien.
- if(G.cell.charge >= 2500)
- G.cell.charge -= 2500
- Weaken(5)
- if (stuttering < 5)
- stuttering = 5
- Stun(5)
-
- for(var/mob/O in viewers(src, null))
- if (O.client)
- O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall", 2)
- return
- else
- M << "\red Not enough charge! "
- return
-
- if (M.a_intent == "help")
- help_shake_act(M)
- else
- if (M.a_intent == "hurt")
- var/attack_verb
- switch(M.mutantrace)
- if("lizard")
- attack_verb = "scratch"
- if("plant")
- attack_verb = "slash"
- else
- attack_verb = "punch"
-
- if(M.type == /mob/living/carbon/human/tajaran)
- attack_verb = "slash"
-
- if ((prob(75) && health > 0))
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has [attack_verb]ed [name]!", M), 1)
-
- var/damage = rand(5, 10)
- if(M.type != /mob/living/carbon/human/tajaran)
- playsound(loc, "punch", 25, 1, -1)
- else if(M.type == /mob/living/carbon/human/tajaran)
- damage += 10
- playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1)
- adjustBruteLoss(damage/10)
- updatehealth()
- else
- if(M.type != /mob/living/carbon/human/tajaran)
- playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
- else if(M.type == /mob/living/carbon/human/tajaran)
- playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to [attack_verb] [name]!", M), 1)
- else
- if (M.a_intent == "grab")
- if (M == src)
- return
-
- var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
- G.assailant = M
- if (M.hand)
- M.l_hand = G
- else
- M.r_hand = G
- G.layer = 20
- G.affecting = src
- grabbed_by += G
- G.synch()
-
- LAssailant = M
-
- playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
-
- else
- if (!( paralysis ))
- drop_item()
- playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has disarmed [name]!", M), 1)
- return
-
-
-
-/mob/living/carbon/amorph/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
-
- switch(M.a_intent)
- if ("help")
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1)
-
- if ("hurt")
- if ((prob(95) && health > 0))
- playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1)
- var/damage = rand(15, 30)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has slashed [name]!", M), 1)
- adjustBruteLoss(damage/10)
- updatehealth()
- react_to_attack(M)
- else
- playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1)
-
- if ("grab")
- if (M == src)
- return
- var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
- G.assailant = M
- if (M.hand)
- M.l_hand = G
- else
- M.r_hand = G
- G.layer = 20
- G.affecting = src
- grabbed_by += G
- G.synch()
-
- LAssailant = M
-
- playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
-
- if ("disarm")
- playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
- var/damage = 5
- if(prob(95))
- Weaken(rand(10,15))
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has tackled down [name]!", M), 1)
- else
- drop_item()
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red [] has disarmed [name]!", M), 1)
- adjustBruteLoss(damage)
- react_to_attack(M)
- updatehealth()
- return
-
-
-
-/mob/living/carbon/amorph/attack_animal(mob/living/simple_animal/M as mob)
- if(M.melee_damage_upper == 0)
- M.emote("[M.friendly] [src]")
- else
- for(var/mob/O in viewers(src, null))
- O.show_message("\red [M] [M.attacktext] [src]!", 1)
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- bruteloss += damage
-
-/mob/living/carbon/amorph/attack_metroid(mob/living/carbon/metroid/M as mob)
- if(M.Victim) return // can't attack while eating!
-
- if (health > -100)
-
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
-
- var/damage = rand(1, 3)
-
- if(istype(M, /mob/living/carbon/metroid/adult))
- damage = rand(10, 35)
- else
- damage = rand(5, 25)
-
- src.cloneloss += damage
-
- UpdateDamageIcon()
-
-
- if(M.powerlevel > 0)
- var/stunprob = 10
- var/power = M.powerlevel + rand(0,3)
-
- switch(M.powerlevel)
- if(1 to 2) stunprob = 20
- if(3 to 4) stunprob = 30
- if(5 to 6) stunprob = 40
- if(7 to 8) stunprob = 60
- if(9) stunprob = 70
- if(10) stunprob = 95
-
- if(prob(stunprob))
- M.powerlevel -= 3
- if(M.powerlevel < 0)
- M.powerlevel = 0
-
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has shocked []!", src), 1)
-
- Weaken(power)
- if (stuttering < power)
- stuttering = power
- Stun(power)
-
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(5, 1, src)
- s.start()
-
- if (prob(stunprob) && M.powerlevel >= 8)
- adjustFireLoss(M.powerlevel * rand(6,10))
-
-
- updatehealth()
-
- return
diff --git a/code/WorkInProgress/Cib/amorph/amorph_damage.dm b/code/WorkInProgress/Cib/amorph/amorph_damage.dm
deleted file mode 100644
index d49d679069c..00000000000
--- a/code/WorkInProgress/Cib/amorph/amorph_damage.dm
+++ /dev/null
@@ -1,12 +0,0 @@
-/mob/living/carbon/amorph/proc/HealDamage(zone, brute, burn)
- return heal_overall_damage(brute, burn)
-
-/mob/living/carbon/amorph/UpdateDamageIcon()
- // no damage sprites for amorphs yet
- return
-
-/mob/living/carbon/amorph/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null)
- if(damagetype == BRUTE)
- take_overall_damage(damage, 0)
- else
- take_overall_damage(0, damage)
\ No newline at end of file
diff --git a/code/WorkInProgress/Cib/amorph/amorph_hud.dm b/code/WorkInProgress/Cib/amorph/amorph_hud.dm
deleted file mode 100644
index c9a4ef0cc9c..00000000000
--- a/code/WorkInProgress/Cib/amorph/amorph_hud.dm
+++ /dev/null
@@ -1,318 +0,0 @@
-/obj/hud/proc/amorph_hud(var/ui_style='icons/mob/screen1_old.dmi')
-
- src.adding = list( )
- src.other = list( )
- src.intents = list( )
- src.mon_blo = list( )
- src.m_ints = list( )
- src.mov_int = list( )
- src.vimpaired = list( )
- src.darkMask = list( )
- src.intent_small_hud_objects = list( )
-
- src.g_dither = new /obj/screen( src )
- src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.g_dither.name = "Mask"
- src.g_dither.icon = ui_style
- src.g_dither.icon_state = "dither12g"
- src.g_dither.layer = 18
- src.g_dither.mouse_opacity = 0
-
- src.alien_view = new /obj/screen(src)
- src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.alien_view.name = "Alien"
- src.alien_view.icon = ui_style
- src.alien_view.icon_state = "alien"
- src.alien_view.layer = 18
- src.alien_view.mouse_opacity = 0
-
- src.blurry = new /obj/screen( src )
- src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.blurry.name = "Blurry"
- src.blurry.icon = ui_style
- src.blurry.icon_state = "blurry"
- src.blurry.layer = 17
- src.blurry.mouse_opacity = 0
-
- src.druggy = new /obj/screen( src )
- src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.druggy.name = "Druggy"
- src.druggy.icon = ui_style
- src.druggy.icon_state = "druggy"
- src.druggy.layer = 17
- src.druggy.mouse_opacity = 0
-
- var/obj/screen/using
-
- using = new /obj/screen( src )
- using.name = "act_intent"
- using.dir = SOUTHWEST
- using.icon = ui_style
- using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
- using.layer = 20
- src.adding += using
- action_intent = using
-
-//intent small hud objects
- var/icon/ico
-
- ico = new(ui_style, "black")
- ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
- ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
- using = new /obj/screen( src )
- using.name = "help"
- using.icon = ico
- using.screen_loc = ui_acti
- using.layer = 21
- src.adding += using
- help_intent = using
-
- ico = new(ui_style, "black")
- ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
- ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
- using = new /obj/screen( src )
- using.name = "disarm"
- using.icon = ico
- using.screen_loc = ui_acti
- using.layer = 21
- src.adding += using
- disarm_intent = using
-
- ico = new(ui_style, "black")
- ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
- ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
- using = new /obj/screen( src )
- using.name = "grab"
- using.icon = ico
- using.screen_loc = ui_acti
- using.layer = 21
- src.adding += using
- grab_intent = using
-
- ico = new(ui_style, "black")
- ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
- ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
- using = new /obj/screen( src )
- using.name = "harm"
- using.icon = ico
- using.screen_loc = ui_acti
- using.layer = 21
- src.adding += using
- hurt_intent = using
-
-//end intent small hud objects
-
- using = new /obj/screen( src )
- using.name = "mov_intent"
- using.dir = SOUTHWEST
- using.icon = ui_style
- using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
- using.screen_loc = ui_movi
- using.layer = 20
- src.adding += using
- move_intent = using
-
- using = new /obj/screen( src )
- using.name = "drop"
- using.icon = ui_style
- using.icon_state = "act_drop"
- using.screen_loc = ui_dropbutton
- using.layer = 19
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "r_hand"
- using.dir = WEST
- using.icon = ui_style
- using.icon_state = "hand_inactive"
- if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
- using.icon_state = "hand_active"
- using.screen_loc = ui_rhand
- using.layer = 19
- src.r_hand_hud_object = using
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "l_hand"
- using.dir = EAST
- using.icon = ui_style
- using.icon_state = "hand_inactive"
- if(mymob && mymob.hand) //This being 1 means the left hand is in use
- using.icon_state = "hand_active"
- using.screen_loc = ui_lhand
- using.layer = 19
- src.l_hand_hud_object = using
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "hand"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "hand1"
- using.screen_loc = ui_swaphand1
- using.layer = 19
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "hand"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "hand2"
- using.screen_loc = ui_swaphand2
- using.layer = 19
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "mask"
- using.dir = NORTH
- using.icon = ui_style
- using.icon_state = "equip"
- using.screen_loc = ui_monkey_mask
- using.layer = 19
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = "back"
- using.dir = NORTHEAST
- using.icon = ui_style
- using.icon_state = "equip"
- using.screen_loc = ui_back
- using.layer = 19
- src.adding += using
-
- using = new /obj/screen( src )
- using.name = null
- using.icon = ui_style
- using.icon_state = "dither50"
- using.screen_loc = "1,1 to 5,15"
- using.layer = 17
- using.mouse_opacity = 0
- src.vimpaired += using
- using = new /obj/screen( src )
- using.name = null
- using.icon = ui_style
- using.icon_state = "dither50"
- using.screen_loc = "5,1 to 10,5"
- using.layer = 17
- using.mouse_opacity = 0
- src.vimpaired += using
- using = new /obj/screen( src )
- using.name = null
- using.icon = ui_style
- using.icon_state = "dither50"
- using.screen_loc = "6,11 to 10,15"
- using.layer = 17
- using.mouse_opacity = 0
- src.vimpaired += using
- using = new /obj/screen( src )
- using.name = null
- using.icon = ui_style
- using.icon_state = "dither50"
- using.screen_loc = "11,1 to 15,15"
- using.layer = 17
- using.mouse_opacity = 0
- src.vimpaired += using
-
- mymob.throw_icon = new /obj/screen(null)
- mymob.throw_icon.icon = ui_style
- mymob.throw_icon.icon_state = "act_throw_off"
- mymob.throw_icon.name = "throw"
- mymob.throw_icon.screen_loc = ui_throw
-
- mymob.oxygen = new /obj/screen( null )
- mymob.oxygen.icon = ui_style
- mymob.oxygen.icon_state = "oxy0"
- mymob.oxygen.name = "oxygen"
- mymob.oxygen.screen_loc = ui_oxygen
-
- mymob.pressure = new /obj/screen( null )
- mymob.pressure.icon = ui_style
- mymob.pressure.icon_state = "pressure0"
- mymob.pressure.name = "pressure"
- mymob.pressure.screen_loc = ui_pressure
-
- mymob.toxin = new /obj/screen( null )
- mymob.toxin.icon = ui_style
- mymob.toxin.icon_state = "tox0"
- mymob.toxin.name = "toxin"
- mymob.toxin.screen_loc = ui_toxin
-
- mymob.internals = new /obj/screen( null )
- mymob.internals.icon = ui_style
- mymob.internals.icon_state = "internal0"
- mymob.internals.name = "internal"
- mymob.internals.screen_loc = ui_internal
-
- mymob.fire = new /obj/screen( null )
- mymob.fire.icon = ui_style
- mymob.fire.icon_state = "fire0"
- mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
-
- mymob.bodytemp = new /obj/screen( null )
- mymob.bodytemp.icon = ui_style
- mymob.bodytemp.icon_state = "temp1"
- mymob.bodytemp.name = "body temperature"
- mymob.bodytemp.screen_loc = ui_temp
-
- mymob.healths = new /obj/screen( null )
- mymob.healths.icon = ui_style
- mymob.healths.icon_state = "health0"
- mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
-
- mymob.pullin = new /obj/screen( null )
- mymob.pullin.icon = ui_style
- mymob.pullin.icon_state = "pull0"
- mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull
-
- mymob.blind = new /obj/screen( null )
- mymob.blind.icon = ui_style
- mymob.blind.icon_state = "blackanimate"
- mymob.blind.name = " "
- mymob.blind.screen_loc = "1,1 to 15,15"
- mymob.blind.layer = 0
- mymob.blind.mouse_opacity = 0
-
- mymob.flash = new /obj/screen( null )
- mymob.flash.icon = ui_style
- mymob.flash.icon_state = "blank"
- mymob.flash.name = "flash"
- mymob.flash.screen_loc = "1,1 to 15,15"
- mymob.flash.layer = 17
-
- mymob.zone_sel = new /obj/screen/zone_sel( null )
- mymob.zone_sel.overlays = null
- mymob.zone_sel.overlays += image("icon" = 'icons/mob/zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
-
- //Handle the gun settings buttons
- mymob.gun_setting_icon = new /obj/screen/gun/mode(null)
- if (mymob.client)
- if (mymob.client.gun_mode) // If in aim mode, correct the sprite
- mymob.gun_setting_icon.dir = 2
- for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons
- if (G.target)
- mymob.item_use_icon = new /obj/screen/gun/item(null)
- if (mymob.client.target_can_click)
- mymob.item_use_icon.dir = 1
- src.adding += mymob.item_use_icon
- mymob.gun_move_icon = new /obj/screen/gun/move(null)
- if (mymob.client.target_can_move)
- mymob.gun_move_icon.dir = 1
- mymob.gun_run_icon = new /obj/screen/gun/run(null)
- if (mymob.client.target_can_run)
- mymob.gun_run_icon.dir = 1
- src.adding += mymob.gun_run_icon
- src.adding += mymob.gun_move_icon
-
- mymob.client.screen = null
-
- //, mymob.i_select, mymob.m_select
- mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach, mymob.hands, )
- mymob.client.screen += src.adding + src.other
-
- //if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo
-
- return
diff --git a/code/WorkInProgress/Cib/amorph/life.dm b/code/WorkInProgress/Cib/amorph/life.dm
deleted file mode 100644
index e3eae759756..00000000000
--- a/code/WorkInProgress/Cib/amorph/life.dm
+++ /dev/null
@@ -1,516 +0,0 @@
-/mob/living/carbon/amorph
- var/obj/item/weapon/card/id/wear_id = null // Fix for station bounced radios -- Skie
-
- var/oxygen_alert = 0
- var/toxins_alert = 0
- var/fire_alert = 0
-
- var/temperature_alert = 0
-
-
-/mob/living/carbon/amorph/Life()
- set invisibility = 0
- set background = 1
-
- if (src.monkeyizing)
- return
-
- ..()
-
- var/datum/gas_mixture/environment // Added to prevent null location errors-- TLE
- if(src.loc)
- environment = loc.return_air()
-
- if (src.stat != 2) //still breathing
-
- //First, resolve location and get a breath
-
- if(air_master.current_cycle%4==2)
- //Only try to take a breath every 4 seconds, unless suffocating
- breathe()
-
- else //Still give containing object the chance to interact
- if(istype(loc, /obj/))
- var/obj/location_as_object = loc
- location_as_object.handle_internal_lifeform(src, 0)
-
- //Apparently, the person who wrote this code designed it so that
- //blinded get reset each cycle and then get activated later in the
- //code. Very ugly. I dont care. Moving this stuff here so its easy
- //to find it.
- src.blinded = null
-
- //Disease Check
- handle_virus_updates()
-
- //Handle temperature/pressure differences between body and environment
- if(environment) // More error checking -- TLE
- handle_environment(environment)
-
- //Mutations and radiation
- handle_mutations_and_radiation()
-
- //Chemicals in the body
- handle_chemicals_in_body()
-
- //Disabilities
- handle_disabilities()
-
- //Status updates, death etc.
-// UpdateLuminosity()
- handle_regular_status_updates()
-
- if(client)
- handle_regular_hud_updates()
-
- //Being buckled to a chair or bed
- check_if_buckled()
-
- // Yup.
- update_canmove()
-
- clamp_values()
-
- // Grabbing
- for(var/obj/item/weapon/grab/G in src)
- G.process()
-
-/mob/living/carbon/amorph
- proc
-
- clamp_values()
-
- AdjustStunned(0)
- AdjustParalysis(0)
- AdjustWeakened(0)
-
- handle_disabilities()
- if (src.disabilities & 4)
- if ((prob(5) && src.paralysis <= 1 && src.r_ch_cou < 1))
- src.drop_item()
- spawn( 0 )
- emote("cough")
- return
- if (src.disabilities & 8)
- if ((prob(10) && src.paralysis <= 1 && src.r_Tourette < 1))
- Stun(10)
- spawn( 0 )
- emote("twitch")
- return
- if (src.disabilities & 16)
- if (prob(10))
- src.stuttering = max(10, src.stuttering)
-
- update_mind()
- if(!mind && client)
- mind = new
- mind.current = src
- mind.key = key
-
- handle_mutations_and_radiation()
- // amorphs are immune to this stuff
-
- breathe()
- if(src.reagents)
-
- if(src.reagents.has_reagent("lexorin")) return
-
- if(!loc) return //probably ought to make a proper fix for this, but :effort: --NeoFite
-
- var/datum/gas_mixture/environment = loc.return_air()
- var/datum/gas_mixture/breath
-
- if(losebreath>0) //Suffocating so do not take a breath
- src.losebreath--
- if (prob(75)) //High chance of gasping for air
- spawn emote("gasp")
- if(istype(loc, /obj/))
- var/obj/location_as_object = loc
- location_as_object.handle_internal_lifeform(src, 0)
- else
- //First, check for air from internal atmosphere (using an air tank and mask generally)
- breath = get_breath_from_internal(BREATH_VOLUME)
-
- //No breath from internal atmosphere so get breath from location
- if(!breath)
- if(istype(loc, /obj/))
- var/obj/location_as_object = loc
- breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME)
- else if(istype(loc, /turf/))
- var/breath_moles = environment.total_moles()*BREATH_PERCENTAGE
- breath = loc.remove_air(breath_moles)
-
- // Handle chem smoke effect -- Doohl
- var/block = 0
- if(wear_mask)
- if(istype(wear_mask, /obj/item/clothing/mask/gas))
- block = 1
-
- if(!block)
-
- for(var/obj/effect/effect/chem_smoke/smoke in view(1, src))
- if(smoke.reagents.total_volume)
- smoke.reagents.reaction(src, INGEST)
- spawn(5)
- if(smoke)
- smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
- break // If they breathe in the nasty stuff once, no need to continue checking
-
-
- else //Still give containing object the chance to interact
- if(istype(loc, /obj/))
- var/obj/location_as_object = loc
- location_as_object.handle_internal_lifeform(src, 0)
-
- handle_breath(breath)
-
- if(breath)
- loc.assume_air(breath)
-
-
- get_breath_from_internal(volume_needed)
- if(internal)
- if (!contents.Find(src.internal))
- internal = null
- if (!wear_mask || !(wear_mask.flags|MASKINTERNALS) )
- internal = null
- if(internal)
- if (src.internals)
- src.internals.icon_state = "internal1"
- return internal.remove_air_volume(volume_needed)
- else
- if (src.internals)
- src.internals.icon_state = "internal0"
- return null
-
- update_canmove()
- if(paralysis || stunned || weakened || buckled || (changeling && changeling.changeling_fakedeath)) canmove = 0
- else canmove = 1
-
- handle_breath(datum/gas_mixture/breath)
- if(src.nodamage)
- return
-
- if(!breath || (breath.total_moles == 0))
- adjustOxyLoss(7)
-
- oxygen_alert = max(oxygen_alert, 1)
-
- return 0
-
- var/safe_oxygen_min = 8 // Minimum safe partial pressure of O2, in kPa
- //var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now)
- var/SA_para_min = 0.5
- var/SA_sleep_min = 5
- var/oxygen_used = 0
- var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME
-
- //Partial pressure of the O2 in our breath
- var/O2_pp = (breath.oxygen/breath.total_moles())*breath_pressure
-
- if(O2_pp < safe_oxygen_min) // Too little oxygen
- if(prob(20))
- spawn(0) emote("gasp")
- if (O2_pp == 0)
- O2_pp = 0.01
- var/ratio = safe_oxygen_min/O2_pp
- adjustOxyLoss(min(5*ratio, 7)) // Don't fuck them up too fast (space only does 7 after all!)
- oxygen_used = breath.oxygen*ratio/6
- oxygen_alert = max(oxygen_alert, 1)
- else // We're in safe limits
- adjustOxyLoss(-5)
- oxygen_used = breath.oxygen/6
- oxygen_alert = 0
-
- breath.oxygen -= oxygen_used
- breath.carbon_dioxide += oxygen_used
-
- if(breath.trace_gases.len) // If there's some other shit in the air lets deal with it here.
- for(var/datum/gas/sleeping_agent/SA in breath.trace_gases)
- var/SA_pp = (SA.moles/breath.total_moles())*breath_pressure
- if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit
- Paralyse(3) // 3 gives them one second to wake up and run away a bit!
- if(SA_pp > SA_sleep_min) // Enough to make us sleep as well
- src.sleeping = max(src.sleeping+2, 10)
- else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning
- if(prob(20))
- spawn(0) emote(pick("giggle", "laugh"))
-
- return 1
-
- handle_environment(datum/gas_mixture/environment)
- if(!environment)
- return
- var/environment_heat_capacity = environment.heat_capacity()
- if(istype(loc, /turf/space))
- environment_heat_capacity = loc:heat_capacity
-
- if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10)))
- var/transfer_coefficient
-
- transfer_coefficient = 1
- if(wear_mask && (wear_mask.body_parts_covered & HEAD) && (environment.temperature < wear_mask.protective_temperature))
- transfer_coefficient *= wear_mask.heat_transfer_coefficient
-
- handle_temperature_damage(HEAD, environment.temperature, environment_heat_capacity*transfer_coefficient)
-
- if(stat==2)
- bodytemperature += 0.1*(environment.temperature - bodytemperature)*environment_heat_capacity/(environment_heat_capacity + 270000)
-
- //Account for massive pressure differences
-
-
- var/pressure = environment.return_pressure()
-
- // if(!wear_suit) Monkies cannot into space.
- // if(!istype(wear_suit, /obj/item/clothing/suit/space))
-
- /*if(pressure < 20)
- if(prob(25))
- src << "You feel the splittle on your lips and the fluid on your eyes boiling away, the capillteries in your skin breaking."
- adjustBruteLoss(5)
- */
-
- if(pressure > HAZARD_HIGH_PRESSURE)
-
- adjustBruteLoss(min((10+(round(pressure/(HIGH_STEP_PRESSURE)-2)*5)),MAX_PRESSURE_DAMAGE))
-
-
-
- return //TODO: DEFERRED
-
- handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
- if(src.nodamage) return
- var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
- if(exposed_temperature > bodytemperature)
- adjustFireLoss(20.0*discomfort)
-
- else
- adjustFireLoss(5.0*discomfort)
-
- handle_chemicals_in_body()
- // most chemicals will have no effect on amorphs
- //if(reagents) reagents.metabolize(src)
-
- if (src.drowsyness)
- src.drowsyness--
- src.eye_blurry = max(2, src.eye_blurry)
- if (prob(5))
- src.sleeping += 1
- Paralyse(5)
-
- confused = max(0, confused - 1)
- // decrement dizziness counter, clamped to 0
- if(resting)
- dizziness = max(0, dizziness - 5)
- else
- dizziness = max(0, dizziness - 1)
-
- src.updatehealth()
-
- return //TODO: DEFERRED
-
- handle_regular_status_updates()
-
- health = 100 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss())
-
- if(getOxyLoss() > 25) Paralyse(3)
-
- if(src.sleeping)
- Paralyse(5)
- if (prob(1) && health) spawn(0) emote("snore")
-
- if(src.resting)
- Weaken(5)
-
- if(health < config.health_threshold_dead && stat != 2)
- death()
- else if(src.health < config.health_threshold_crit)
- if(src.health <= 20 && prob(1)) spawn(0) emote("gasp")
-
- // shuffle around the chemical effects for amorphs a little ;)
- if(!src.reagents.has_reagent("antitoxin") && src.stat != 2) src.adjustOxyLoss(2)
-
- if(src.stat != 2) src.stat = 1
- Paralyse(5)
-
- if (src.stat != 2) //Alive.
-
- if (src.paralysis || src.stunned || src.weakened) //Stunned etc.
- if (src.stunned > 0)
- AdjustStunned(-1)
- src.stat = 0
- if (src.weakened > 0)
- AdjustWeakened(-1)
- src.lying = 1
- src.stat = 0
- if (src.paralysis > 0)
- AdjustParalysis(-1)
- src.blinded = 1
- src.lying = 1
- src.stat = 1
- var/h = src.hand
- src.hand = 0
- drop_item()
- src.hand = 1
- drop_item()
- src.hand = h
-
- else //Not stunned.
- src.lying = 0
- src.stat = 0
-
- else //Dead.
- src.lying = 1
- src.blinded = 1
- src.stat = 2
-
- if (src.stuttering) src.stuttering--
- if (src.slurring) src.slurring--
-
- if (src.eye_blind)
- src.eye_blind--
- src.blinded = 1
-
- if (src.ear_deaf > 0) src.ear_deaf--
- if (src.ear_damage < 25)
- src.ear_damage -= 0.05
- src.ear_damage = max(src.ear_damage, 0)
-
- src.density = !( src.lying )
-
- if (src.disabilities & 128)
- src.blinded = 1
- if (src.disabilities & 32)
- src.ear_deaf = 1
-
- if (src.eye_blurry > 0)
- src.eye_blurry--
- src.eye_blurry = max(0, src.eye_blurry)
-
- if (src.druggy > 0)
- src.druggy--
- src.druggy = max(0, src.druggy)
-
- return 1
-
- handle_regular_hud_updates()
-
- if (src.stat == 2 || (M_XRAY in mutations))
- src.sight |= SEE_TURFS
- src.sight |= SEE_MOBS
- src.sight |= SEE_OBJS
- src.see_in_dark = 8
- src.see_invisible = 2
- else if (src.stat != 2)
- src.sight &= ~SEE_TURFS
- src.sight &= ~SEE_MOBS
- src.sight &= ~SEE_OBJS
- src.see_in_dark = 2
- src.see_invisible = 0
-
- if (src.sleep)
- src.sleep.icon_state = text("sleep[]", src.sleeping > 0 ? 1 : 0)
- src.sleep.overlays = null
- if(src.sleeping_willingly)
- src.sleep.overlays += icon(src.sleep.icon, "sleep_willing")
- if (src.rest) src.rest.icon_state = text("rest[]", src.resting)
-
- if (src.healths)
- if (src.stat != 2)
- switch(health)
- if(100 to INFINITY)
- src.healths.icon_state = "health0"
- if(80 to 100)
- src.healths.icon_state = "health1"
- if(60 to 80)
- src.healths.icon_state = "health2"
- if(40 to 60)
- src.healths.icon_state = "health3"
- if(20 to 40)
- src.healths.icon_state = "health4"
- if(0 to 20)
- src.healths.icon_state = "health5"
- else
- src.healths.icon_state = "health6"
- else
- src.healths.icon_state = "health7"
-
- if (pressure)
- var/datum/gas_mixture/environment = loc.return_air()
- if(environment)
- switch(environment.return_pressure())
-
- if(HAZARD_HIGH_PRESSURE to INFINITY)
- pressure.icon_state = "pressure2"
- if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE)
- pressure.icon_state = "pressure1"
- if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE)
- pressure.icon_state = "pressure0"
- if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE)
- pressure.icon_state = "pressure-1"
- else
- pressure.icon_state = "pressure-2"
-
- if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]"
-
-
- if (src.toxin) src.toxin.icon_state = "tox[src.toxins_alert ? 1 : 0]"
- if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]"
- if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]"
- //NOTE: the alerts dont reset when youre out of danger. dont blame me,
- //blame the person who coded them. Temporary fix added.
-
- if(bodytemp)
- switch(src.bodytemperature) //310.055 optimal body temp
- if(345 to INFINITY)
- src.bodytemp.icon_state = "temp4"
- if(335 to 345)
- src.bodytemp.icon_state = "temp3"
- if(327 to 335)
- src.bodytemp.icon_state = "temp2"
- if(316 to 327)
- src.bodytemp.icon_state = "temp1"
- if(300 to 316)
- src.bodytemp.icon_state = "temp0"
- if(295 to 300)
- src.bodytemp.icon_state = "temp-1"
- if(280 to 295)
- src.bodytemp.icon_state = "temp-2"
- if(260 to 280)
- src.bodytemp.icon_state = "temp-3"
- else
- src.bodytemp.icon_state = "temp-4"
-
- src.client.screen -= src.hud_used.blurry
- src.client.screen -= src.hud_used.druggy
- src.client.screen -= src.hud_used.vimpaired
-
- if ((src.blind && src.stat != 2))
- if ((src.blinded))
- src.blind.layer = 18
- else
- src.blind.layer = 0
-
- if (src.disabilities & 1)
- src.client.screen += src.hud_used.vimpaired
-
- if (src.eye_blurry)
- src.client.screen += src.hud_used.blurry
-
- if (src.druggy)
- src.client.screen += src.hud_used.druggy
-
- if (src.stat != 2)
- if (src.machine)
- if (!( src.machine.check_eye(src) ))
- src.reset_view(null)
- else
- if(!client.adminobs)
- reset_view(null)
-
- return 1
-
- handle_virus_updates()
- // amorphs can't come down with human diseases
- return
\ No newline at end of file
diff --git a/code/WorkInProgress/Cib/amorph/say.dm b/code/WorkInProgress/Cib/amorph/say.dm
deleted file mode 100644
index a73c9de5d39..00000000000
--- a/code/WorkInProgress/Cib/amorph/say.dm
+++ /dev/null
@@ -1,6 +0,0 @@
-/mob/living/carbon/amorph/emote(var/act,var/m_type=1,var/message = null)
- if(act == "me")
- return custom_emote(m_type, message)
-
-/mob/living/carbon/amorph/say_quote(var/text)
- return "[src.say_message], \"[text]\"";
diff --git a/code/WorkInProgress/Cib/meme.dm b/code/WorkInProgress/Cib/meme.dm
deleted file mode 100644
index 880f21bad51..00000000000
--- a/code/WorkInProgress/Cib/meme.dm
+++ /dev/null
@@ -1,596 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
-
-// === MEMETIC ANOMALY ===
-// =======================
-
-/**
-This life form is a form of parasite that can gain a certain level of control
-over its host. Its player will share vision and hearing with the host, and it'll
-be able to influence the host through various commands.
-**/
-
-// The maximum amount of points a meme can gather.
-var/global/const/MAXIMUM_MEME_POINTS = 750
-
-
-// === PARASITE ===
-// ================
-
-// a list of all the parasites in the mob
-mob/living/carbon/var/list/parasites = list()
-
-mob/living/parasite
- var/mob/living/carbon/host // the host that this parasite occupies
-
- Login()
- ..()
-
- // make the client see through the host instead
- client.eye = host
- client.perspective = EYE_PERSPECTIVE
-
-
-mob/living/parasite/proc/enter_host(mob/living/carbon/host)
- // by default, parasites can't share a body with other life forms
- if(host.parasites.len > 0)
- return 0
-
- src.host = host
- src.loc = host
- host.parasites.Add(src)
-
- if(client) client.eye = host
-
- return 1
-
-mob/living/parasite/proc/exit_host()
- src.host.parasites.Remove(src)
- src.host = null
- src.loc = null
-
- return 1
-
-
-// === MEME ===
-// ============
-
-// Memes use points for many actions
-mob/living/parasite/meme/var/meme_points = 100
-mob/living/parasite/meme/var/dormant = 0
-
-// Memes have a list of indoctrinated hosts
-mob/living/parasite/meme/var/list/indoctrinated = list()
-
-mob/living/parasite/meme/Life()
- ..()
-
- if(client)
- if(blinded) client.eye = null
- else client.eye = host
-
- if(!host) return
-
- // recover meme points slowly
- var/gain = 3
- if(dormant) gain = 9 // dormant recovers points faster
-
- meme_points = min(meme_points + gain, MAXIMUM_MEME_POINTS)
-
- // if there are sleep toxins in the host's body, that's bad
- if(host.reagents.has_reagent("stoxin"))
- src << "\red Something in your host's blood makes you lose consciousness.. you fade away.."
- src.death()
- return
- // a host without brain is no good
- if(!host.mind)
- src << "\red Your host has no mind.. you fade away.."
- src.death()
- return
- if(host.stat == 2)
- src << "\red Your host has died.. you fade away.."
- src.death()
- return
-
- if(host.blinded && host.stat != 1) src.blinded = 1
- else src.blinded = 0
-
-
-mob/living/parasite/meme/death()
- // make sure the mob is on the actual map before gibbing
- if(host) src.loc = host.loc
- src.stat = 2
- ..()
- del src
-
-// When a meme speaks, it speaks through its host
-mob/living/parasite/meme/say(message as text)
- if(dormant)
- usr << "\red You're dormant!"
- return
- if(!host)
- usr << "\red You can't speak without host!"
- return
-
- return host.say(message)
-
-// Same as speak, just with whisper
-mob/living/parasite/meme/whisper(message as text)
- if(dormant)
- usr << "\red You're dormant!"
- return
- if(!host)
- usr << "\red You can't speak without host!"
- return
-
- return host.whisper(message)
-
-// Make the host do things
-mob/living/parasite/meme/me_verb(message as text)
- set name = "Me"
-
-
- if(dormant)
- usr << "\red You're dormant!"
- return
-
- if(!host)
- usr << "\red You can't emote without host!"
- return
-
- return host.me_verb(message)
-
-// A meme understands everything their host understands
-mob/living/parasite/meme/say_understands(mob/other)
- if(!host) return 0
-
- return host.say_understands(other)
-
-// Try to use amount points, return 1 if successful
-mob/living/parasite/meme/proc/use_points(amount)
- if(dormant)
- usr << "\red You're dormant!"
- return
- if(src.meme_points < amount)
- src << "* You don't have enough meme points(need [amount])."
- return 0
-
- src.meme_points -= round(amount)
- return 1
-
-// Let the meme choose one of his indoctrinated mobs as target
-mob/living/parasite/meme/proc/select_indoctrinated(var/title, var/message)
- var/list/candidates
-
- // Can only affect other mobs thant he host if not blinded
- if(blinded)
- candidates = list()
- src << "\red You are blinded, so you can not affect mobs other than your host."
- else
- candidates = indoctrinated.Copy()
-
- candidates.Add(src.host)
-
- var/mob/target = null
- if(candidates.len == 1)
- target = candidates[1]
- else
- var/selected
-
- var/list/text_candidates = list()
- var/list/map_text_to_mob = list()
-
- for(var/mob/living/carbon/human/M in candidates)
- text_candidates += M.real_name
- map_text_to_mob[M.real_name] = M
-
- selected = input(message,title) as null|anything in text_candidates
- if(!selected) return null
-
- target = map_text_to_mob[selected]
-
- return target
-
-
-// A meme can make people hear things with the thought ability
-mob/living/parasite/meme/verb/Thought()
- set category = "Meme"
- set name = "Thought(50)"
- set desc = "Implants a thought into the target, making them think they heard someone talk."
-
- if(meme_points < 50)
- // just call use_points() to give the standard failure message
- use_points(50)
- return
-
- var/list/candidates = indoctrinated.Copy()
- if(!(src.host in candidates))
- candidates.Add(src.host)
-
- var/mob/target = select_indoctrinated("Thought", "Select a target which will hear your thought.")
-
- if(!target) return
-
- var/speaker = input("Select the voice in which you would like to make yourself heard.", "Voice") as null|text
- if(!speaker) return
-
- var/message = input("What would you like to say?", "Message") as null
- if(!message) return
-
- // Use the points at the end rather than the beginning, because the user might cancel
- if(!use_points(50)) return
-
- message = say_quote(message)
- var/rendered = "[speaker] [message]"
- target.show_message(rendered)
-
- usr << "You make [target] hear: [rendered]"
-
-// Mutes the host
-mob/living/parasite/meme/verb/Mute()
- set category = "Meme"
- set name = "Mute(250)"
- set desc = "Prevents your host from talking for a while."
-
- if(!src.host) return
- if(!host.speech_allowed)
- usr << "\red Your host already can't speak.."
- return
- if(!use_points(250)) return
-
- spawn
- // backup the host incase we switch hosts after using the verb
- var/mob/host = src.host
-
- host << "\red Your tongue feels numb.. You lose your ability to speak."
- usr << "\red Your host can't speak anymore."
-
- host.speech_allowed = 0
-
- sleep(1200)
-
- host.speech_allowed = 1
- host << "\red Your tongue has feeling again.."
- usr << "\red [host] can speak again."
-
-// Makes the host unable to emote
-mob/living/parasite/meme/verb/Paralyze()
- set category = "Meme"
- set name = "Paralyze(250)"
- set desc = "Prevents your host from using emote for a while."
-
- if(!src.host) return
- if(!host.use_me)
- usr << "\red Your host already can't use body language.."
- return
- if(!use_points(250)) return
-
- spawn
- // backup the host incase we switch hosts after using the verb
- var/mob/host = src.host
-
- host << "\red Your body feels numb.. You lose your ability to use body language."
- usr << "\red Your host can't use body language anymore."
-
- host.use_me = 0
-
- sleep(1200)
-
- host.use_me = 1
- host << "\red Your body has feeling again.."
- usr << "\red [host] can use body language again."
-
-
-
-// Cause great agony with the host, used for conditioning the host
-mob/living/parasite/meme/verb/Agony()
- set category = "Meme"
- set name = "Agony(200)"
- set desc = "Causes significant pain in your host."
-
- if(!src.host) return
- if(!use_points(200)) return
-
- spawn
- // backup the host incase we switch hosts after using the verb
- var/mob/host = src.host
-
- host.paralysis = max(host.paralysis, 2)
-
- host.flash_weak_pain()
- host << "\red You feel excrutiating pain all over your body! It is so bad you can't think or articulate yourself properly.."
-
- usr << "You send a jolt of agonizing pain through [host], they should be unable to concentrate on anything else for half a minute."
-
- host.emote("scream")
-
- for(var/i=0, i<10, i++)
- host.stuttering = 2
- sleep(50)
- if(prob(80)) host.flash_weak_pain()
- if(prob(10)) host.paralysis = max(host.paralysis, 2)
- if(prob(15)) host.emote("twitch")
- else if(prob(15)) host.emote("scream")
- else if(prob(10)) host.emote("collapse")
-
- if(i == 10)
- host << "\red THE PAIN! AGHH, THE PAIN! MAKE IT STOP! ANYTHING TO MAKE IT STOP!"
-
- host << "\red The pain subsides.."
-
-// Cause great joy with the host, used for conditioning the host
-mob/living/parasite/meme/verb/Joy()
- set category = "Meme"
- set name = "Joy(200)"
- set desc = "Causes significant joy in your host."
-
- if(!src.host) return
- if(!use_points(200)) return
-
- spawn
- var/mob/host = src.host
- host.druggy = max(host.druggy, 50)
- host.slurring = max(host.slurring, 10)
-
- usr << "You stimulate [host.name]'s brain, injecting waves of endorphines and dopamine into the tissue. They should now forget all their worries, particularly relating to you, for around a minute."
-
- host << "\red You are feeling wonderful! Your head is numb and drowsy, and you can't help forgetting all the worries in the world."
-
- while(host.druggy > 0)
- sleep(10)
-
- host << "\red You are feeling clear-headed again.."
-
-// Cause the target to hallucinate.
-mob/living/parasite/meme/verb/Hallucinate()
- set category = "Meme"
- set name = "Hallucinate(300)"
- set desc = "Makes your host hallucinate, has a short delay."
-
- var/mob/target = select_indoctrinated("Hallucination", "Who should hallucinate?")
-
- if(!target) return
- if(!use_points(300)) return
-
- target.hallucination += 100
-
- usr << "You make [target] hallucinate."
-
-// Jump to a closeby target through a whisper
-mob/living/parasite/meme/verb/SubtleJump(mob/living/carbon/human/target as mob in world)
- set category = "Meme"
- set name = "Subtle Jump(350)"
- set desc = "Move to a closeby human through a whisper."
-
- if(!istype(target, /mob/living/carbon/human) || !target.mind)
- src << "You can't jump to this creature.."
- return
- if(!(target in view(1, host)+src))
- src << "The target is not close enough."
- return
-
- // Find out whether we can speak
- if (host.silent || (host.disabilities & 64))
- src << "Your host can't speak.."
- return
-
- if(!use_points(350)) return
-
- for(var/mob/M in view(1, host))
- M.show_message("[host] whispers something incoherent.",2) // 2 stands for hearable message
-
- // Find out whether the target can hear
- if(target.disabilities & 32 || target.ear_deaf)
- src << "Your target doesn't seem to hear you.."
- return
-
- if(target.parasites.len > 0)
- src << "Your target already is possessed by something.."
- return
-
- src.exit_host()
- src.enter_host(target)
-
- usr << "You successfully jumped to [target]."
- log_admin("[src.key] has jumped to [target]")
- message_admins("[src.key] has jumped to [target]")
-
-// Jump to a distant target through a shout
-mob/living/parasite/meme/verb/ObviousJump(mob/living/carbon/human/target as mob in world)
- set category = "Meme"
- set name = "Obvious Jump(750)"
- set desc = "Move to any mob in view through a shout."
-
- if(!istype(target, /mob/living/carbon/human) || !target.mind)
- src << "You can't jump to this creature.."
- return
- if(!(target in view(host)))
- src << "The target is not close enough."
- return
-
- // Find out whether we can speak
- if (host.silent || (host.disabilities & 64))
- src << "Your host can't speak.."
- return
-
- if(!use_points(750)) return
-
- for(var/mob/M in view(host)+src)
- M.show_message("[host] screams something incoherent!",2) // 2 stands for hearable message
-
- // Find out whether the target can hear
- if(target.disabilities & 32 || target.ear_deaf)
- src << "Your target doesn't seem to hear you.."
- return
-
- if(target.parasites.len > 0)
- src << "Your target already is possessed by something.."
- return
-
- src.exit_host()
- src.enter_host(target)
-
- usr << "You successfully jumped to [target]."
- log_admin("[src.key] has jumped to [target]")
- message_admins("[src.key] has jumped to [target]")
-
-// Jump to an attuned mob for free
-mob/living/parasite/meme/verb/AttunedJump(mob/living/carbon/human/target as mob in world)
- set category = "Meme"
- set name = "Attuned Jump(0)"
- set desc = "Move to a mob in sight that you have already attuned."
-
- if(!istype(target, /mob/living/carbon/human) || !target.mind)
- src << "You can't jump to this creature.."
- return
- if(!(target in view(host)))
- src << "You need to make eye-contact with the target."
- return
- if(!(target in indoctrinated))
- src << "You need to attune the target first."
- return
-
- src.exit_host()
- src.enter_host(target)
-
- usr << "You successfully jumped to [target]."
-
- log_admin("[src.key] has jumped to [target]")
- message_admins("[src.key] has jumped to [target]")
-
-// ATTUNE a mob, adding it to the indoctrinated list
-mob/living/parasite/meme/verb/Attune()
- set category = "Meme"
- set name = "Attune(400)"
- set desc = "Change the host's brain structure, making it easier for you to manipulate him."
-
- if(host in src.indoctrinated)
- usr << "You have already attuned this host."
- return
-
- if(!host) return
- if(!use_points(400)) return
-
- src.indoctrinated.Add(host)
-
- usr << "You successfully indoctrinated [host]."
- host << "\red Your head feels a bit roomier.."
-
- log_admin("[src.key] has attuned [host]")
- message_admins("[src.key] has attuned [host]")
-
-// Enables the mob to take a lot more damage
-mob/living/parasite/meme/verb/Analgesic()
- set category = "Meme"
- set name = "Analgesic(500)"
- set desc = "Combat drug that the host to move normally, even under life-threatening pain."
-
- if(!host) return
- if(!(host in indoctrinated))
- usr << "\red You need to attune the host first."
- return
- if(!use_points(500)) return
-
- usr << "You inject drugs into [host]."
- host << "\red You feel your body strengthen and your pain subside.."
- host.analgesic = 60
- while(host.analgesic > 0)
- sleep(10)
- host << "\red The dizziness wears off, and you can feel pain again.."
-
-
-mob/proc/clearHUD()
- if(client) client.screen.Cut()
-
-// Take control of the mob
-mob/living/parasite/meme/verb/Possession()
- set category = "Meme"
- set name = "Possession(500)"
- set desc = "Take direct control of the host for a while."
-
- if(!host) return
- if(!(host in indoctrinated))
- usr << "\red You need to attune the host first."
- return
- if(!use_points(500)) return
-
- usr << "You take control of [host]!"
- host << "\red Everything goes black.."
-
- spawn
- var/mob/dummy = new()
- dummy.loc = 0
- dummy.sight = BLIND
-
- var/datum/mind/host_mind = host.mind
- var/datum/mind/meme_mind = src.mind
-
- host_mind.transfer_to(dummy)
- meme_mind.transfer_to(host)
- host_mind.current.clearHUD()
- host.update_clothing()
-
- dummy << "\blue You feel very drowsy.. Your eyelids become heavy..."
-
- log_admin("[meme_mind.key] has taken possession of [host]([host_mind.key])")
- message_admins("[meme_mind.key] has taken possession of [host]([host_mind.key])")
-
- sleep(600)
-
- log_admin("[meme_mind.key] has lost possession of [host]([host_mind.key])")
- message_admins("[meme_mind.key] has lost possession of [host]([host_mind.key])")
-
- meme_mind.transfer_to(src)
- host_mind.transfer_to(host)
- meme_mind.current.clearHUD()
- host.update_clothing()
- src << "\red You lose control.."
-
- del dummy
-
-// Enter dormant mode, increases meme point gain
-mob/living/parasite/meme/verb/Dormant()
- set category = "Meme"
- set name = "Dormant(100)"
- set desc = "Speed up point recharging, will force you to cease all actions until all points are recharged."
-
- if(!host) return
- if(!use_points(100)) return
-
- usr << "You enter dormant mode.. You won't be able to take action until all your points have recharged."
-
- dormant = 1
-
- while(meme_points < MAXIMUM_MEME_POINTS)
- sleep(10)
-
- dormant = 0
-
- usr << "\red You have regained all points and exited dormant mode!"
-
-mob/living/parasite/meme/verb/Show_Points()
- set category = "Meme"
-
- usr << "Meme Points: [src.meme_points]/[MAXIMUM_MEME_POINTS]"
-
-// Stat panel to show meme points, copypasted from alien
-/mob/living/parasite/meme/Stat()
- ..()
-
- statpanel("Status")
- if (client && client.holder)
- stat(null, "([x], [y], [z])")
-
- if (client && client.statpanel == "Status")
- stat(null, "Meme Points: [src.meme_points]")
-
-// Game mode helpers, used for theft objectives
-// --------------------------------------------
-mob/living/parasite/check_contents_for(t)
- if(!host) return 0
-
- return host.check_contents_for(t)
-
-mob/living/parasite/check_contents_for_reagent(t)
- if(!host) return 0
-
- return host.check_contents_for_reagent(t)
diff --git a/code/WorkInProgress/IndexLP/indexlp_defines.dm b/code/WorkInProgress/IndexLP/indexlp_defines.dm
deleted file mode 100644
index 2f3402be59d..00000000000
--- a/code/WorkInProgress/IndexLP/indexlp_defines.dm
+++ /dev/null
@@ -1,32 +0,0 @@
-//Clothing
-/obj/item/clothing/suit/storage/centcomm_jacket
- name = "Central Command Jacket"
- desc = "A black jacket embroidered with the Central Command dress print."
- icon = 'code/WorkInProgress/IndexLP/indexlp_icons.dmi'
- icon_state = "mob_centcomm_jacket_open"
- item_state = "mob_centcomm_jacket"
- sprite_sheets = list(
- "Human" = 'code/WorkInProgress/IndexLP/indexlp_icons.dmi'
- )
- blood_overlay_type = "coat"
- body_parts_covered = UPPER_TORSO|ARMS
-
- verb/toggle()
- set name = "Toggle Coat Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- switch(icon_state)
- if("mob_centcomm_jacket_open")
- src.icon_state = "mob_centcomm_jacket"
- usr << "You button up the jacket."
- if("mob_centcomm_jacket")
- src.icon_state = "mob_centcomm_jacket_open"
- usr << "You unbutton the jacket."
- else
- usr << "You attempt to button-up your [src], before promptly realising how retarded you are."
- return
- usr.update_inv_wear_suit() //so our overlays update
\ No newline at end of file
diff --git a/code/WorkInProgress/IndexLP/indexlp_icons.dmi b/code/WorkInProgress/IndexLP/indexlp_icons.dmi
deleted file mode 100644
index 3e3f251117a..00000000000
Binary files a/code/WorkInProgress/IndexLP/indexlp_icons.dmi and /dev/null differ
diff --git a/code/WorkInProgress/IndexLP/maps/cyberiad.dmm b/code/WorkInProgress/IndexLP/maps/cyberiad.dmm
deleted file mode 100644
index bf24b5819ba..00000000000
--- a/code/WorkInProgress/IndexLP/maps/cyberiad.dmm
+++ /dev/null
@@ -1,13720 +0,0 @@
-"aaa" = (/turf/space,/area)
-"aab" = (/obj/structure/lattice,/turf/space,/area)
-"aac" = (/turf/simulated/floor/plating/airless,/area)
-"aad" = (/turf/space,/area/syndicate_station/north)
-"aae" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/syndicate_station/north)
-"aaf" = (/turf/space,/area/syndicate_station/northwest)
-"aag" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area)
-"aah" = (/turf/space,/area/syndicate_station/northeast)
-"aai" = (/turf/simulated/wall/r_wall,/area)
-"aaj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aak" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aal" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aam" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"aan" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aao" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aap" = (/obj/machinery/camera{c_tag = "Prison Bedroom"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/security/prison)
-"aaq" = (/turf/simulated/wall,/area)
-"aar" = (/obj/item/clothing/suit/ianshirt,/obj/machinery/computer/arcade,/turf/simulated/floor,/area/security/prison)
-"aas" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aat" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aau" = (/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/security/prison)
-"aav" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/security/prison)
-"aaw" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/security/prison)
-"aax" = (/obj/structure/stool/bed,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/security/prison)
-"aay" = (/turf/simulated/floor,/area/security/prison)
-"aaz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaA" = (/obj/machinery/door/airlock/glass{name = "Bedroom"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/security/prison)
-"aaB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaC" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/security/prison)
-"aaD" = (/obj/machinery/newscaster{pixel_y = -28},/obj/structure/table,/obj/item/weapon/pen{layer = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area)
-"aaF" = (/obj/structure/table,/obj/item/weapon/dice,/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_x = -28; pixel_y = 0; wires = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/security/prison)
-"aaG" = (/obj/structure/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaH" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaI" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area)
-"aaK" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{layer = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/security/prison)
-"aaL" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaM" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"aaN" = (/obj/item/weapon/soap/nanotrasen,/obj/structure/sink{pixel_y = 30},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"aaO" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"aaP" = (/turf/space,/area/xenos_station/northeast)
-"aaQ" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor/plating,/area/security/prison)
-"aaR" = (/obj/machinery/vending/snack,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaS" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaX" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaZ" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Washroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"aba" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"abb" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/security/prison)
-"abc" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abe" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abf" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abg" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abh" = (/obj/machinery/camera{c_tag = "Prison Rec Room"; dir = 1; network = list("SS13"); pixel_x = 22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abi" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"abj" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"abk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area)
-"abl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area)
-"abo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area)
-"abp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"abq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area)
-"abr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abs" = (/obj/machinery/flasher{id = "permflash"; pixel_x = 28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abt" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"abu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall/r_wall,/area)
-"abv" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
-"abw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area)
-"aby" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abz" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"abA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent{filled = 0.2},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/prison)
-"abB" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/security/prison)
-"abC" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/security/prison)
-"abD" = (/obj/machinery/computer/area_atmos/area,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/security/prison)
-"abE" = (/obj/machinery/camera{c_tag = "Perma Brig Outside"; dir = 6; network = list("Prison")},/turf/simulated/floor/plating,/area/security/prison)
-"abF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/prison)
-"abG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/prison)
-"abH" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plating,/area/security/prison)
-"abI" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/security/prison)
-"abJ" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/security/prison)
-"abK" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/security/prison)
-"abL" = (/turf/simulated/floor/plating,/area/security/prison)
-"abM" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/table,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/obj/item/weapon/pen,/turf/simulated/floor/plating,/area)
-"abN" = (/obj/machinery/camera{c_tag = "Solitary Confinement"; dir = 6; network = list("Prison")},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating,/area)
-"abO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"abP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"abQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area)
-"abR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"abS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"abT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/prison)
-"abU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
-"abV" = (/obj/structure/lattice,/obj/machinery/camera{c_tag = "Armory Exterior"; dir = 4},/turf/space,/area)
-"abW" = (/obj/structure/closet/secure_closet/injection,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"abX" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"abY" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"abZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aca" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area)
-"acb" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"acc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"acd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area)
-"ace" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/security/prison)
-"acf" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison)
-"acg" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/machinery/camera{c_tag = "Brig Execution Chamber"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"ach" = (/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aci" = (/obj/structure/stool/bed,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/prison)
-"acj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Execution Chamber"; req_access = null; req_access_txt = "1"},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"ack" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"acl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"acm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/security/hos)
-"acn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/hos)
-"aco" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 10},/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 6},/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"acp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"acq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"acr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"acs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area)
-"act" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"acu" = (/obj/item/clothing/mask/muzzle/gag,/turf/simulated/floor/plating,/area)
-"acv" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acw" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acx" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acy" = (/obj/structure/closet/secure_closet/hos,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acz" = (/obj/machinery/computer/security,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security"; departmentType = 5; name = "Head of Security RC"; pixel_y = 30},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acA" = (/obj/machinery/computer/secure_data,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acB" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/cartridge/detective,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acC" = (/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acD" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"acF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"acG" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acH" = (/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acI" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/camera/motion{c_tag = "Secure Armoury"; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acJ" = (/obj/machinery/light_switch{pixel_x = -32},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acK" = (/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acL" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/landmark/start{name = "Head of Security"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"acM" = (/turf/space,/area/xenos_station/northwest)
-"acN" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"acO" = (/obj/machinery/camera{c_tag = "Interrogation Observation"},/obj/machinery/computer/security/telescreen{layer = 4; name = "Observation Screen"; network = list("Interrogation"); pixel_x = 0; pixel_y = 32},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"acP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"acQ" = (/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"acR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"acS" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acV" = (/obj/structure/rack,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"acY" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/grenadelauncher,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"acZ" = (/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage)
-"ada" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
-"adb" = (/obj/machinery/power/apc{dir = 1; name = "Vault APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage)
-"adc" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"add" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/hos,/obj/machinery/light/small/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"ade" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adf" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adg" = (/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adh" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adi" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"adj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"adk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"adl" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/machinery/light{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adm" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/armoury)
-"adn" = (/obj/mecha/combat/gygax/loaded,/turf/simulated/floor/mech_bay_recharge_floor,/area/security/armoury)
-"ado" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/bluegrid,/area/security/armoury)
-"adp" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/grenadelauncher,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adq" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/nuke_storage)
-"adr" = (/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
-"ads" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
-"adt" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/nuke_storage)
-"adu" = (/obj/machinery/hologram/holopad,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adw" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adx" = (/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"ady" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adz" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/engine,/area/security/armoury)
-"adA" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/engine,/area/security/armoury)
-"adB" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/engine,/area/security/armoury)
-"adC" = (/turf/simulated/floor/engine,/area/security/armoury)
-"adD" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/security/armoury)
-"adE" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"adF" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"adG" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"adH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/prison)
-"adI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/prison)
-"adJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/prison)
-"adK" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adN" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/grenadelauncher,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"adO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage)
-"adP" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/nuke_storage)
-"adQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage)
-"adR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
-"adS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Head of Security APC"; pixel_x = -24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"adW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adX" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"adY" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/engine,/area/security/armoury)
-"adZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Security Pod Pilot"},/turf/simulated/floor/engine,/area/security/armoury)
-"aea" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = null; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aeb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor,/area/security/prison)
-"aec" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Armory APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aed" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aee" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aef" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aeg" = (/obj/machinery/camera{c_tag = "Vault"; dir = 4; network = list("SS13")},/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_y = 2},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_x = 1; pixel_y = -2},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/storage/belt/champion,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage)
-"aeh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
-"aei" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
-"aej" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/security/hos)
-"aek" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"ael" = (/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/security/armoury)
-"aem" = (/obj/spacepod/sec{req_access_txt = "71"},/turf/simulated/floor/engine,/area/security/armoury)
-"aen" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/range)
-"aeo" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
-"aep" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/range)
-"aeq" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aer" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Interrogation Observervation"; req_access = null; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/prison)
-"aes" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"aet" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"aeu" = (/obj/structure/rack,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"aev" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"aew" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aex" = (/obj/structure/rack,/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"aey" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = -2},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/armoury)
-"aez" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage)
-"aeA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage)
-"aeB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage)
-"aeC" = (/turf/simulated/wall/r_wall,/area/security/prison)
-"aeD" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"aeE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"aeF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"aeG" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"aeH" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"aeI" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/security,/obj/item/clothing/shoes/magboots,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/oxygen,/turf/simulated/floor/engine,/area/security/armoury)
-"aeJ" = (/obj/structure/grille,/turf/space,/area)
-"aeK" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area)
-"aeL" = (/turf/simulated/floor,/area/security/range)
-"aeM" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
-"aeN" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
-"aeO" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/camera{c_tag = "Brig Evidence Storage"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aeP" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/prison)
-"aeQ" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/prison)
-"aeR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/prison)
-"aeS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/prison)
-"aeT" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison)
-"aeU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/prison)
-"aeV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/prison)
-"aeW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/prison)
-"aeX" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/prison)
-"aeY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/highsecurity/red{locked = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury)
-"aeZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area)
-"afa" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area)
-"afb" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/nuke_storage)
-"afc" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area)
-"afd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/hos)
-"afe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/hos)
-"aff" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Head of Security"; req_access_txt = "58"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 7},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"afg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/hos)
-"afh" = (/obj/structure/closet,/turf/simulated/floor/engine,/area/security/armoury)
-"afi" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area)
-"afj" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/security/range)
-"afk" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/security/range)
-"afl" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor,/area/security/prison)
-"afm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/security/prison)
-"afn" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/prison)
-"afo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"afp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/prison)
-"afq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/prison)
-"afr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"afs" = (/obj/machinery/deployable/barrier,/turf/simulated/floor,/area/security/armoury)
-"aft" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/deployable/barrier,/turf/simulated/floor,/area/security/armoury)
-"afu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"afv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"afw" = (/obj/structure/closet/bombcloset,/turf/simulated/floor,/area/security/armoury)
-"afx" = (/obj/structure/closet/l3closet/security,/turf/simulated/floor,/area/security/armoury)
-"afy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/armoury)
-"afz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/armoury)
-"afD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "High Security Area Central"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afI" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/armoury)
-"afJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/armoury)
-"afK" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Pods"; req_access_txt = "71"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/security/armoury)
-"afL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/engine,/area/security/armoury)
-"afM" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/engine,/area/security/armoury)
-"afN" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/auxport)
-"afO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"afP" = (/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"afQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Interrogation"; req_access = null; req_access_txt = "63"},/turf/simulated/floor,/area/security/prison)
-"afR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/prison)
-"afS" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/prison)
-"afT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"afU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/prison)
-"afV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/prison)
-"afW" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Prison Wing APC"; pixel_x = 26; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"afX" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/deployable/barrier,/turf/simulated/floor,/area/security/armoury)
-"afY" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"afZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"aga" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/armoury)
-"agb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"age" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/armoury)
-"agf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agh" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agj" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/armoury)
-"agk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/armoury)
-"agl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Pods"; req_access_txt = "71"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/security/armoury)
-"agm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/security/armoury)
-"agn" = (/obj/machinery/light,/turf/simulated/floor/engine,/area/security/armoury)
-"ago" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport)
-"agp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"agq" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"agr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"ags" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Prison Wing Lockers"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/prison)
-"agt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/security/prison)
-"agu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "63"},/turf/simulated/floor,/area/security/prison)
-"agv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"agw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/prison)
-"agx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"agy" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Armory APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"agz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"agA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/armoury)
-"agB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/armoury)
-"agC" = (/turf/simulated/floor,/area/security/armoury)
-"agD" = (/obj/machinery/light{dir = 4},/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"agE" = (/obj/machinery/door/firedoor/multi_tile,/obj/machinery/door/airlock/multi_tile/glass{req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/armoury)
-"agF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/armoury)
-"agG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/armoury)
-"agH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/armoury)
-"agI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/armoury)
-"agJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/armoury)
-"agK" = (/obj/machinery/door/firedoor/multi_tile,/obj/machinery/door/airlock/multi_tile/glass{req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"agL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/armoury)
-"agM" = (/turf/space,/area/shuttle/syndicate_elite/station)
-"agN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"agO" = (/obj/structure/table/reinforced{tag = "icon-table"; icon_state = "table"},/obj/machinery/light/small/lamp,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"agP" = (/obj/machinery/camera{c_tag = "Interrogation"; dir = 9; network = list("Interrogation")},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"agQ" = (/obj/structure/closet/secure_closet/brig,/turf/simulated/floor{icon_state = "red"},/area/security/prison)
-"agR" = (/obj/structure/closet/secure_closet/brig,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/security/prison)
-"agS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/prison)
-"agT" = (/turf/simulated/floor{icon_state = "red"},/area/security/prison)
-"agU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/prison)
-"agV" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/prison)
-"agW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"agX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"agY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/armoury)
-"agZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"aha" = (/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"ahb" = (/obj/structure/closet/wardrobe/red,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main)
-"ahc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
-"ahd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
-"ahe" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
-"ahf" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/main)
-"ahg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main)
-"ahh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/device/radio,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"ahi" = (/turf/simulated/floor,/area/security/main)
-"ahj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main)
-"ahk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main)
-"ahl" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
-"ahm" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main)
-"ahn" = (/turf/space,/area/shuttle/gamma/station)
-"aho" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport)
-"ahp" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport)
-"ahq" = (/obj/machinery/camera{c_tag = "Firing Range"; dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
-"ahr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"ahs" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"aht" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/security/prison)
-"ahu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison)
-"ahv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison)
-"ahw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison)
-"ahx" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"ahy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/obj/machinery/camera{c_tag = "Armory"; dir = 4; network = list("SS13")},/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"ahz" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos)
-"ahA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/armoury)
-"ahB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/vending/security,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/armoury)
-"ahC" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"ahD" = (/obj/structure/table,/obj/item/weapon/wrench,/turf/simulated/floor,/area/security/armoury)
-"ahE" = (/obj/machinery/recharger/wallcharger{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"ahF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/main)
-"ahG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/main)
-"ahH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/main)
-"ahI" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
-"ahJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main)
-"ahK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/device/assembly/timer,/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"ahL" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"ahM" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/main)
-"ahN" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/auxport)
-"ahO" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport)
-"ahP" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport)
-"ahQ" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/auxport)
-"ahR" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport)
-"ahS" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport)
-"ahT" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/auxport)
-"ahU" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses{pixel_x = 3; pixel_y = 3},/turf/simulated/floor,/area/security/range)
-"ahV" = (/obj/structure/table/reinforced,/obj/machinery/magnetic_controller{autolink = 1; name = "Firing Range Control Console"; path = "w;e;e;w;s;n;n;s"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/range)
-"ahW" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/range)
-"ahX" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/range)
-"ahY" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/paper{info = "Directions:
First you'll want to make sure there is a target stake in the center of the magnetic platform. Next, take an aluminum target from the crates back there and slip it into the stake. Make sure it clicks! Next, there should be a control console mounted on the wall somewhere in the room.
This control console dictates the behaviors of the magnetic platform, which can move your firing target around to simulate real-world combat situations. From here, you can turn off the magnets or adjust their electromagnetic levels and magnetic fields. The electricity level dictates the strength of the pull - you will usually want this to be the same value as the speed. The magnetic field level dictates how far the magnetic pull reaches.
Speed and path are the next two settings. Speed is associated with how fast the machine loops through the designated path. Paths dictate where the magnetic field will be centered at what times. There should be a pre-fabricated path input already. You can enable moving to observe how the path affects the way the stake moves. To script your own path, look at the following key:
N: North
S: South
E: East
W: West
C: Center
R: Random (results may vary)
; or &: separators. They are not necessary but can make the path string better visible."; name = "Firing Range Instructions"},/turf/simulated/floor,/area/security/range)
-"ahZ" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/obj/machinery/camera{c_tag = "Security Processing"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig)
-"aia" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"aib" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"aic" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"aid" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig)
-"aie" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/warden)
-"aif" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/warden)
-"aig" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aih" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/warden)
-"aii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden)
-"aij" = (/obj/machinery/recharger/wallcharger{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Security Equipment North"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"aik" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/donut,/turf/simulated/floor,/area/security/main)
-"ail" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/main)
-"aim" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main)
-"ain" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"aio" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/main)
-"aip" = (/obj/machinery/camera{c_tag = "Security Office East"; dir = 8; network = list("SS13")},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "gamma_shuttle_dock"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;2"; tag_door = "gamma_shuttle_dock_hatch"},/turf/simulated/floor,/area/security/main)
-"aiq" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport)
-"air" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport)
-"ais" = (/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs,/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range)
-"ait" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/range)
-"aiu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/range)
-"aiv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range)
-"aiw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/range)
-"aix" = (/obj/machinery/sleeper{available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific"); name = "Prisoner Sleeper"},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/security/brig)
-"aiy" = (/obj/machinery/sleep_console,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/security/brig)
-"aiz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"aiA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"aiB" = (/obj/structure/table,/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
-"aiC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"aiD" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor,/area/security/brig)
-"aiE" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig)
-"aiF" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig)
-"aiG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/warden)
-"aiH" = (/obj/machinery/photocopier,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/newscaster{pixel_x = -32; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aiI" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Security Warden Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aiJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aiK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/secure_closet/warden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aiL" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper{info = "4 Deployable Barriers
4 Portable Flashers + Wrench
3 Sets of Riot Armor
1 Bulletproof Vest
1 Ablative Vest
1 Bomb Suit
1 Biohazard Suit
1 Chemical Implant Kit
1 Tracking Implant Kit
1 Loyalty Implant Kit
1 Box of Spare Handcuffs
1 Box of flashbangs
1 Box of spare R.O.B.U.S.T. cartridges
3 Riot shields
3 Stun Batons
3 Energy Guns
3 Laser Rifles
6 Gas Masks"; name = "Armory Inventory"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aiM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden)
-"aiN" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main)
-"aiO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main)
-"aiP" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
-"aiQ" = (/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/security/main)
-"aiR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main)
-"aiS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"aiT" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/device/taperecorder{pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"aiU" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main)
-"aiV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/main)
-"aiW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/landmark/nations{name = "Brigston"},/turf/simulated/floor,/area/security/main)
-"aiX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/security/main)
-"aiY" = (/obj/machinery/door/airlock/hatch/gamma{locked = 1; req_access_txt = "0"; use_power = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/main)
-"aiZ" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/paper/monitorkey,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
-"aja" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"ajb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/range)
-"ajc" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range)
-"ajd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/closet/crate,/obj/item/target/syndicate,/obj/item/target/syndicate,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"aje" = (/obj/structure/stool/bed/roller,/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/security/brig)
-"ajf" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajh" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"aji" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajj" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajk" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajl" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
-"ajm" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"ajn" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig)
-"ajo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig)
-"ajp" = (/obj/structure/table/reinforced{tag = "icon-table_vertical"; icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{dir = 4; name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/security/warden)
-"ajq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajr" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajt" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aju" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajv" = (/obj/structure/table/reinforced{tag = "icon-table_vertical"; icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/eastleft,/turf/simulated/floor/plating,/area/security/warden)
-"ajw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"ajx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main)
-"ajy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/donut,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/security/main)
-"ajz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/main)
-"ajA" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
-"ajB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main)
-"ajC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main)
-"ajD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 7},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"ajE" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"ajF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main)
-"ajG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/rack,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/trackimp,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"ajH" = (/turf/simulated/floor{icon_state = "red"},/area/security/range)
-"ajI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"ajJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range)
-"ajK" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range)
-"ajL" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/start{name = "Brig Physician"},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajN" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajO" = (/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"ajR" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
-"ajS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"ajT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/security/brig)
-"ajU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/brig)
-"ajV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig)
-"ajW" = (/obj/machinery/computer/secure_data,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajX" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ajZ" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"aka" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"akb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main)
-"akc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/main)
-"akd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/main)
-"ake" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main)
-"akf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"akg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
-"akh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main)
-"aki" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/siberia/station)
-"akj" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/siberia/station)
-"akk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/siberia/station)
-"akl" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor,/area/security/range)
-"akm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/security/range)
-"akn" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor,/area/security/range)
-"ako" = (/obj/structure/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
-"akp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"akq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"akr" = (/obj/structure/table,/obj/item/clothing/tie/stethoscope,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/security/brig)
-"aks" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/reagent_containers/syringe/antitoxin,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"akt" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/security/brig)
-"aku" = (/obj/structure/table,/obj/item/weapon/storage/box/masks{pixel_x = 6; pixel_y = 2},/obj/item/weapon/storage/box/gloves,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/security/brig)
-"akv" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/brig)
-"akw" = (/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"akx" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/brig)
-"aky" = (/obj/machinery/computer/security,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"akz" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/crowbar,/obj/item/device/radio,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"akA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{desc = "A remote control-switch to lock down the prison wing's blast doors"; id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; range = 20; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; range = 20; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"akB" = (/obj/machinery/computer/prisoner,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"akC" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"akD" = (/obj/machinery/vending/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/main)
-"akE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/main)
-"akF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/segway,/obj/item/sec_seg_key,/turf/simulated/floor{icon_state = "red"},/area/security/main)
-"akG" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "red"},/area/security/main)
-"akH" = (/obj/structure/reagent_dispensers/peppertank{pixel_y = -30},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/main)
-"akI" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/main)
-"akJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main)
-"akK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/table/reinforced,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment{pixel_y = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "Security Office APC"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main)
-"akL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main)
-"akM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main)
-"akN" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/main)
-"akO" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/security/main)
-"akP" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/auxstarboard)
-"akQ" = (/turf/space,/area/vox_station/northeast_solars)
-"akR" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station)
-"akS" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"akT" = (/obj/machinery/computer/shuttle_control/labor_camp,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"akU" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_shuttle"; pixel_x = 25; pixel_y = -7; req_access_txt = "0"; req_one_access_txt = "13;2"; tag_door = "labor_shuttle_hatch"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"akV" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/security/processing)
-"akW" = (/obj/machinery/computer/prisoner{req_access = null; req_access_txt = "2"},/turf/simulated/floor,/area/security/processing)
-"akX" = (/obj/machinery/camera{c_tag = "Brig Control Room"},/obj/machinery/computer/shuttle_control/labor_camp,/turf/simulated/floor,/area/security/processing)
-"akY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"akZ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"ala" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"ald" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/security/processing)
-"ale" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Brig Medical Bay"; req_access_txt = "0"; req_one_access_txt = "63"},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"alf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Brig Medical Bay"; req_access_txt = "0"; req_one_access_txt = "63"},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"alg" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area)
-"alh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Brig"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"ali" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig)
-"alj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Brig"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig)
-"alk" = (/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"all" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area)
-"alm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main)
-"aln" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area)
-"alo" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area)
-"alp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main)
-"alq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main)
-"alr" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; dir = 1; freq = 1400; location = "Security"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor/plating,/area)
-"als" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Security Escape Pod"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"alt" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/escape_pod3/station)
-"alu" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod3/station)
-"alv" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod3/station)
-"alw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard)
-"alx" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area)
-"aly" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"alz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_hatch"; locked = 1; name = "Labor Camp Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"alA" = (/obj/machinery/door/airlock/glass_security{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access_txt = "13"; req_one_access_txt = "0"},/turf/simulated/floor,/area/security/processing)
-"alB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_shuttle_dock"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;1"; tag_door = "labor_shuttle_dock_hatch"},/turf/simulated/floor,/area/security/processing)
-"alC" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor,/area/security/processing)
-"alD" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"alK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/processing)
-"alL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/brig)
-"alO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"alP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"alU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/brig)
-"alW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "Security Main Hall"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"alZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"ama" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"ame" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"amf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"ami" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j2s"; sortType = 8},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig)
-"amk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"aml" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig)
-"amm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig)
-"amn" = (/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "1"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"amo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"amp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = -25; tag_door = "escape_pod_3_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"amq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"amr" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"ams" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
-"amt" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
-"amu" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_3_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
-"amv" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station)
-"amw" = (/turf/space,/area/shuttle/administration/station)
-"amx" = (/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station)
-"amy" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/simulated/floor,/area/security/processing)
-"amz" = (/obj/structure/closet/secure_closet/brig{anchored = 1},/turf/simulated/floor,/area/security/processing)
-"amA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"amB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"amC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"amD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/processing)
-"amE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/brig)
-"amH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig)
-"amN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"amO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/machinery/power/apc{name = "Brig APC"; pixel_y = -24},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"amU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig)
-"amV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
-"amX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/security/brig)
-"amY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 6},/area)
-"amZ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area)
-"ana" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"anb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"anc" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod3/station)
-"and" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod3/station)
-"ane" = (/turf/simulated/floor/plating,/area)
-"anf" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "security_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "13"},/turf/space,/area)
-"ang" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
-"anh" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard)
-"ani" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area)
-"anj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall,/area)
-"ank" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters)
-"anl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/prison/cell_block/B)
-"anm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"ann" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area)
-"ano" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/prison/cell_block/A)
-"anp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"anq" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby)
-"anr" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby)
-"ans" = (/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"ant" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby)
-"anu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Temporary Detainment"; name = "Temporary Detainment"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C)
-"anv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Temporary Detainment"; name = "Temporary Detainment"; req_access_txt = "2"},/turf/simulated/floor,/area/prison/cell_block/C)
-"anw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/detectives_office)
-"anx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/detectives_office)
-"any" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Detective"; req_access_txt = "4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/detectives_office)
-"anz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/detectives_office)
-"anA" = (/turf/simulated/wall,/area/maintenance/fsmaint)
-"anB" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"anC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"anD" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"anE" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "security_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"anF" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/auxstarboard)
-"anG" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard)
-"anH" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard)
-"anI" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/auxstarboard)
-"anJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard)
-"anK" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard)
-"anL" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/auxstarboard)
-"anM" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport)
-"anN" = (/obj/machinery/mineral/labor_claim_console{machinedir = 6; pixel_x = 2},/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station)
-"anO" = (/obj/machinery/mineral/input,/turf/simulated/shuttle/floor{dir = 8; icon = 'icons/turf/floors.dmi'; icon_state = "vault"},/area/shuttle/siberia/station)
-"anP" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters)
-"anQ" = (/obj/machinery/camera{c_tag = "Security Washroom"; dir = 2},/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"anR" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"anS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"anT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Washroom"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters)
-"anU" = (/obj/structure/closet/secure_closet/brig{id = "Cell 6"; name = "Cell 6 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 6"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B)
-"anV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B)
-"anW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/B)
-"anX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/B)
-"anY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"anZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"aoa" = (/obj/structure/closet/secure_closet/brig{id = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 3"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A)
-"aob" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"aoc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"aod" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/A)
-"aoe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"aof" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"aog" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"aoh" = (/obj/structure/closet/secure_closet/brig{id = "Cell 1"; name = "Cell 1 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 1"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A)
-"aoi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/lobby)
-"aoj" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/lobby)
-"aok" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/lobby)
-"aol" = (/obj/structure/table,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"aom" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"aon" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/lobby)
-"aoo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/lobby)
-"aop" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/C)
-"aoq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/C)
-"aor" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C)
-"aos" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/prison/cell_block/C)
-"aot" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Detective North"; dir = 2},/obj/structure/bookcase,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aou" = (/obj/structure/closet/secure_closet/detective,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aov" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aow" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aox" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aoy" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 1; name = "Detective APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aoz" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area)
-"aoB" = (/obj/structure/rack{dir = 1},/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoC" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoE" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/portables_connector{layer = 2},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "security_airlock"; pixel_x = -25; req_access_txt = "13"; tag_airpump = "security_pump"; tag_chamber_sensor = "security_sensor"; tag_exterior_door = "security_outer"; tag_interior_door = "security_inner"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aoG" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
-"aoH" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard)
-"aoI" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/auxport)
-"aoJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport)
-"aoK" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk10"; icon_state = "catwalk10"},/area/solar/auxport)
-"aoL" = (/obj/machinery/mineral/stacking_machine/laborstacker,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"aoM" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/shuttle/siberia/station)
-"aoN" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonshuttle"; name = "Secure Shuttle Access"; req_access_txt = "3"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"aoO" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/siberia/station)
-"aoP" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters)
-"aoQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters)
-"aoR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"aoS" = (/obj/machinery/washing_machine,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"aoT" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters)
-"aoU" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B)
-"aoV" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B)
-"aoW" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 6"; name = "Cell 6"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"aoX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"aoY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"aoZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"apa" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A)
-"apb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"apc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 3"; name = "Cell 3"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/A)
-"apd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"ape" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"apf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/A)
-"apg" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A)
-"aph" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"api" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"apj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"apk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/lobby)
-"apl" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"apm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"apn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby)
-"apo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"app" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"apq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby)
-"apr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/prison/cell_block/C)
-"aps" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/C)
-"apt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/prison/cell_block/C)
-"apu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Prison Cell Block C APC"; pixel_x = 25},/obj/machinery/camera{c_tag = "Temporary Detainment"; dir = 8; pixel_x = 0; pixel_y = -22},/turf/simulated/floor,/area/prison/cell_block/C)
-"apv" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"apw" = (/turf/simulated/floor/carpet,/area/security/detectives_office)
-"apx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"apy" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{pixel_x = 30},/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"apz" = (/obj/effect/decal/cleanable/oil/streak,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"apA" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "security_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"apB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "security_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"apC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "security_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "security_sensor"; pixel_x = 22; pixel_y = 25},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"apD" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport)
-"apE" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station)
-"apF" = (/obj/machinery/mineral/output,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"apG" = (/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"apH" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"apI" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters)
-"apJ" = (/obj/machinery/door_control{id = "prison release"; name = "Prisoner Release Room Lockdown"; pixel_x = 5; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area)
-"apK" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing)
-"apL" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B)
-"apM" = (/obj/machinery/flasher{id = "Cell 6"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B)
-"apN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/B)
-"apO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/B)
-"apP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"apQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"apR" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A)
-"apS" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"apT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"apU" = (/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/A)
-"apV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/A)
-"apW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"apX" = (/obj/machinery/flasher{id = "Cell 1"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A)
-"apY" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A)
-"apZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"aqa" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/security/main)
-"aqb" = (/obj/machinery/computer/security,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"aqc" = (/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -35; range = 10},/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 1-4."; id = "BrigEast"; name = "Brig Cells 1-4 Hallway Doors"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; range = 10},/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 5 and 6."; id = "BrigWest"; name = "Brig Cells 5-6 Hallway Doors"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -25; range = 20},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby)
-"aqd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/prison/cell_block/C)
-"aqe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/prison/cell_block/C)
-"aqf" = (/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Door"; req_access_txt = "61"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/C)
-"aqg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/prison/cell_block/C)
-"aqh" = (/obj/item/weapon/storage/secure/safe{pixel_x = -23},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aqi" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"aqj" = (/obj/structure/table/woodentable,/obj/structure/noticeboard{pixel_x = 30; pixel_y = 0},/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/handcuffs,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aqk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aql" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqm" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/security/main)
-"aqn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area)
-"aqr" = (/obj/machinery/vending/suitdispenser,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqs" = (/obj/machinery/vending/shoedispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqt" = (/obj/machinery/vending/hatdispenser,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqu" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqv" = (/obj/machinery/washing_machine,/obj/machinery/camera{c_tag = "Locker Room North"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqw" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqx" = (/obj/machinery/washing_machine,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aqy" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor,/area/security/processing)
-"aqz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/door_timer/cell_3{dir = 8; id = "Cell 6"; name = "Cell 6"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/B)
-"aqA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/prison/cell_block/B)
-"aqB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/door_timer/cell_3{dir = 8; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/A)
-"aqC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_timer/cell_1{dir = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
-"aqD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Security Lobby APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"aqE" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"aqF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera{c_tag = "Security Medical Station"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/security{icon_broken = "securemedbroken"; icon_closed = "securemed"; icon_locked = "securemed1"; icon_off = "securemedoff"; icon_opened = "securemedopen"; icon_state = "securemed1"; name = "Brig Physician Locker"},/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/security/brig)
-"aqG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/lobby)
-"aqH" = (/obj/structure/table,/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Door"; req_access_txt = "61"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor,/area/security/lobby)
-"aqI" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"aqK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/prison/cell_block/C)
-"aqL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor,/area/prison/cell_block/C)
-"aqM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/C)
-"aqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/C)
-"aqO" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aqP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"aqQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"aqR" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_x = 0; pixel_y = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aqS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqT" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqU" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqV" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqW" = (/obj/structure/table,/obj/item/ashtray/plastic,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqX" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aqY" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/tvalve/mirrored,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/maintenance/fsmaint)
-"aqZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/stool,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/maintenance/fsmaint)
-"ara" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"ard" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"are" = (/obj/machinery/power/apc{dir = 4; name = "Locker Room APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arf" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/processing)
-"arg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing)
-"arh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing)
-"ari" = (/obj/machinery/camera{c_tag = "Prisoner Processing Exit"; dir = 3; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing)
-"arj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing)
-"ark" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing)
-"arl" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/processing)
-"arm" = (/obj/structure/closet/secure_closet/brig{id = "Cell 5"; name = "Cell 5 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 5"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B)
-"arn" = (/obj/structure/closet/secure_closet/brig{id = "Cell 4"; name = "Cell 4 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 4"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A)
-"aro" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"arp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/A)
-"arq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"arr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"ars" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor,/area/prison/cell_block/A)
-"art" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 2"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A)
-"aru" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"arv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby)
-"arw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby)
-"arx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby)
-"ary" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby)
-"arz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby)
-"arA" = (/obj/machinery/camera{c_tag = "Security Lobby"; dir = 8; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"arB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/prison/cell_block/C)
-"arC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C)
-"arD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C)
-"arE" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/C)
-"arF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"arG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/start{name = "Detective"},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/carpet,/area/security/detectives_office)
-"arH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"arI" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/structure/table/woodentable,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"arJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"arK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"arL" = (/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"arM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/wrench,/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fsmaint)
-"arN" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Gas pump"; on = 0},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fsmaint)
-"arO" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arR" = (/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arT" = (/obj/structure/table,/obj/item/clothing/under/suit_jacket/female{pixel_x = 3; pixel_y = 1},/obj/item/clothing/under/lawyer/oldman,/obj/item/clothing/under/suit_jacket/really_black{pixel_x = -2; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arU" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"arW" = (/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"arX" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/gateway)
-"arY" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway)
-"arZ" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/gateway)
-"asa" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"asb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_hatch"; locked = 1; name = "Labor Camp Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"asc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/security/processing)
-"asd" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/security/processing)
-"ase" = (/obj/machinery/door/airlock/external{name = "Labor Camp Shuttle Airlock"},/turf/simulated/floor,/area/security/processing)
-"asf" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/processing)
-"asg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/processing)
-"ash" = (/turf/simulated/floor,/area/security/processing)
-"asi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/processing)
-"asj" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/processing)
-"ask" = (/turf/simulated/floor,/area/prison/cell_block/B)
-"asl" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 5"; name = "Cell 5"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"asm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"asn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B)
-"aso" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"asp" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A)
-"asq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
-"asr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 4"; name = "Cell 4"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
-"ass" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"ast" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A)
-"asu" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 2"; name = "Cell 2"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
-"asv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"asw" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A)
-"asx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"asy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby)
-"asz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/lobby)
-"asA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/lobby)
-"asB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/lobby)
-"asC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby)
-"asD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby)
-"asE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/C)
-"asF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C)
-"asG" = (/turf/simulated/wall,/area/prison/cell_block/C)
-"asH" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor,/area/prison/cell_block/C)
-"asI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/window/southright,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asK" = (/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asM" = (/obj/machinery/door/window/southright,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asN" = (/obj/structure/window/basic,/obj/structure/table/woodentable,/obj/item/device/flash,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"asO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"asP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"asQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"asR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/decal/cleanable/robot_debris,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"asS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area)
-"asT" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/maintenance/fsmaint)
-"asU" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/maintenance/fsmaint)
-"asV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"asW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"asX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"asY" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway)
-"asZ" = (/obj/machinery/gateway/centerstation,/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"ata" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway)
-"atb" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station)
-"atc" = (/obj/machinery/power/apc{dir = 8; name = "Prisoner Processing APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/processing)
-"atd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing)
-"ate" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing)
-"atf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing)
-"atg" = (/turf/simulated/floor{icon_state = "red"},/area/security/processing)
-"ath" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/processing)
-"ati" = (/obj/machinery/flasher{id = "Cell 5"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B)
-"atj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/prison/cell_block/B)
-"atk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_timer/cell_5,/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/B)
-"atl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable,/obj/machinery/power/apc{name = "Prison Cell Block B APC"; pixel_y = -24},/turf/simulated/floor,/area/prison/cell_block/B)
-"atm" = (/obj/machinery/flasher{id = "Cell 4"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A)
-"atn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"ato" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_x = -28; pixel_y = -22},/obj/machinery/door_timer/cell_4{pixel_y = -30},/obj/item/device/radio/intercom{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A)
-"atp" = (/obj/structure/cable,/obj/machinery/door_timer/cell_2{pixel_x = 0; pixel_y = -30},/obj/machinery/power/apc{dir = 2; name = "Prison Cell Block A APC"; pixel_x = 24; pixel_y = -24},/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/A)
-"atq" = (/obj/machinery/flasher{id = "Cell 2"; pass_flags = 0; pixel_x = 0; pixel_y = -26},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A)
-"atr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/lobby)
-"ats" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/lobby)
-"att" = (/turf/simulated/floor{icon_state = "red"},/area/security/lobby)
-"atu" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/lobby)
-"atv" = (/turf/simulated/floor,/area/prison/cell_block/C)
-"atw" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/cell_block/C)
-"atx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/closet{name = "Evidence Closet"},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office)
-"aty" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office)
-"atz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office)
-"atA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office)
-"atB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office)
-"atC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Detective Maintenance"; req_access_txt = "4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"atD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"atE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"atF" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"atG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"atH" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"atI" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/basic,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"atJ" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/gateway)
-"atK" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway)
-"atL" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/gateway)
-"atM" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/siberia/station)
-"atN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area)
-"atO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Prisoner Release"},/turf/simulated/floor,/area/security/processing)
-"atP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby)
-"atQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area)
-"atR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"atS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/lobby)
-"atT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby)
-"atU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/lobby)
-"atV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby)
-"atW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby)
-"atX" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"atY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"atZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"aua" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"aub" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"auc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area)
-"aud" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aue" = (/obj/machinery/vending/chinese,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"auf" = (/obj/machinery/vending/chinese,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"aug" = (/obj/machinery/camera{c_tag = "Mr. Chang's"; dir = 2},/obj/machinery/vending/chinese,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"auh" = (/obj/machinery/camera{c_tag = "Barber Shop"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"aui" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"auj" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Barber Shop APC"; pixel_y = 24},/obj/structure/stool/bed/chair/barber{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"auk" = (/obj/structure/table/reinforced,/obj/structure/mirror{pixel_x = 28},/obj/item/weapon/razor,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"aul" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker)
-"aum" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod1/station)
-"aun" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station)
-"auo" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod1/station)
-"aup" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod2/station)
-"auq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station)
-"aur" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod2/station)
-"aus" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"aut" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"auu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"auv" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway)
-"auw" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/siberia/station)
-"aux" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/siberia/station)
-"auy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/siberia/station)
-"auz" = (/obj/structure/table/woodentable,/obj/item/seeds/bananaseed,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"auA" = (/obj/structure/table/woodentable,/obj/item/weapon/ore/clown,/obj/item/weapon/stamp/clown,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"auB" = (/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"auC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"auD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"auE" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"auF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/fore)
-"auH" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby)
-"auJ" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auK" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway West"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"auN" = (/turf/simulated/floor,/area/hallway/primary/fore)
-"auO" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auP" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auQ" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auR" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auT" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auU" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"auV" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"auW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"auX" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"auY" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"auZ" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"ava" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avb" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area)
-"avc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"avd" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"ave" = (/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"avf" = (/obj/structure/stool/bed/chair/wood/wings,/obj/machinery/power/apc{dir = 4; name = "Chinese Restaurant APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"avg" = (/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"avh" = (/obj/effect/landmark/start{name = "Barber"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"avi" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"avj" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/primary)
-"avk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary)
-"avl" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary)
-"avm" = (/obj/structure/table,/obj/machinery/alarm{pixel_y = 23},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"avn" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Primary Tool Storage"},/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"avo" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/device/multitool,/obj/item/clothing/gloves/fyellow,/turf/simulated/floor,/area/storage/primary)
-"avp" = (/obj/structure/table,/obj/machinery/light_switch{pixel_y = 28},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"avq" = (/obj/machinery/power/apc{dir = 1; name = "Primary Tool Storage APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary)
-"avr" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/storage/primary)
-"avs" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod1/station)
-"avt" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_1"; pixel_x = -25; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
-"avu" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod2/station)
-"avv" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_2"; pixel_x = -25; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
-"avw" = (/obj/machinery/camera{c_tag = "Gateway"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/structure/sign/biohazard{pixel_x = -32},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/gateway)
-"avx" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/gateway)
-"avy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/gateway)
-"avz" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/gateway)
-"avA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/biohazard{pixel_x = 32},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/gateway)
-"avB" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Clown"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Clown Office APC"; pixel_x = -24},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"avC" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"avD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"avE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area)
-"avF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"avG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/fore)
-"avH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/hallway/primary/fore)
-"avI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore)
-"avJ" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/primary/fore)
-"avK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore)
-"avL" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/fore)
-"avM" = (/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/fore)
-"avN" = (/obj/structure/table,/obj/item/weapon/storage/box/evidence,/obj/machinery/light,/obj/machinery/camera{c_tag = "Detective South"; dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avO" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avP" = (/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avQ" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avR" = (/obj/machinery/computer/forensic_scanning,/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office)
-"avS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"avT" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"avU" = (/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; frequency = 1440; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"avV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"avW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"avX" = (/obj/structure/stool/bed/chair/barber{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"avY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/storage/primary)
-"avZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/storage/primary)
-"awa" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/storage/primary)
-"awb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/storage/primary)
-"awc" = (/turf/simulated/floor,/area/storage/primary)
-"awd" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/storage/primary)
-"awe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary)
-"awf" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
-"awg" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
-"awh" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/gateway)
-"awi" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor,/area/gateway)
-"awj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/gateway)
-"awk" = (/turf/simulated/floor,/area/gateway)
-"awl" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/gateway)
-"awm" = (/obj/structure/rack,/obj/item/clothing/under/rank/clown,/obj/item/weapon/storage/backpack/clown,/obj/item/clothing/mask/gas/clown_hat,/obj/item/clothing/shoes/clown_shoes,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"awn" = (/obj/item/flag/clown,/obj/machinery/light,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"awo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Primary Hallway APC"; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore)
-"aws" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore)
-"awt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"aww" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awx" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA"; location = "Security"},/turf/simulated/floor,/area/hallway/primary/fore)
-"awy" = (/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awz" = (/obj/machinery/light,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awC" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway East"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"awD" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"awE" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"awF" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/primary)
-"awG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary)
-"awH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary)
-"awI" = (/obj/structure/table,/obj/machinery/light{dir = 4},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"awJ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod1/station)
-"awK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
-"awL" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod1/station)
-"awM" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod2/station)
-"awN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
-"awO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod2/station)
-"awP" = (/obj/machinery/power/apc{dir = 8; name = "Gateway APC"; pixel_x = -24; pixel_y = -1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/gateway)
-"awQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway)
-"awR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway)
-"awS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/gateway)
-"awT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/gateway)
-"awU" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"awV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"awW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"awX" = (/obj/machinery/door/airlock/clown{name = "Clown/Mime Office"; req_access_txt = "46"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/vacantoffice2)
-"awY" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/hallway/primary/fore)
-"awZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock{name = "Magistrate"; req_access_txt = "38"},/turf/simulated/floor,/area/lawoffice)
-"axa" = (/obj/machinery/door/airlock{name = "Internal Affairs"; req_access_txt = "38"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/lawoffice)
-"axb" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"axc" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/fore)
-"axd" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"axe" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor,/area/maintenance/fsmaint)
-"axf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Security Maintenance APC"; pixel_y = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"axg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"axh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"axi" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"axj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/primary)
-"axk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/storage/primary)
-"axl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/storage/primary)
-"axm" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/storage/primary)
-"axn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/storage/primary)
-"axo" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
-"axp" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard)
-"axq" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"axr" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"axs" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"axt" = (/obj/structure/closet/emcloset,/obj/item/device/assembly/igniter,/turf/simulated/floor,/area/gateway)
-"axu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/gateway)
-"axv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway)
-"axw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/gateway)
-"axx" = (/obj/machinery/light{dir = 4},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/gateway)
-"axy" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/auxport)
-"axz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"axA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"axB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/flag/mime,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"axC" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"axD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"axE" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"axF" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/carpet,/area/lawoffice)
-"axG" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor/carpet,/area/lawoffice)
-"axH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/lawoffice)
-"axI" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/lawoffice)
-"axJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice)
-"axK" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axL" = (/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axM" = (/obj/structure/closet/lawcloset,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axN" = (/obj/machinery/photocopier,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 27},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axO" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axP" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axR" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"axS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"axT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"axU" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area)
-"axV" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"axW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"axX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"axY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"axZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aya" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"ayb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"ayc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"ayd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"aye" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs)
-"ayf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area)
-"ayg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"ayh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"ayi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/storage/primary)
-"ayj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary)
-"ayk" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/turf/simulated/floor{icon_state = "bot"},/area/storage/primary)
-"ayl" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary)
-"aym" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor,/area/storage/primary)
-"ayn" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary)
-"ayo" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary)
-"ayp" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area)
-"ayq" = (/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"ayr" = (/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area)
-"ays" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard)
-"ayt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 7; req_one_access_txt = "13;48"},/turf/space,/area)
-"ayu" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"ayv" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"ayw" = (/obj/machinery/atmospherics/portables_connector{layer = 2},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"ayx" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"ayy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"ayz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"ayA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"ayB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"ayC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{id_tag = "Gateway-Access"; name = "Gateway Access"},/turf/simulated/floor,/area/gateway)
-"ayD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"ayE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"ayF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"ayG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"ayH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"ayI" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"ayJ" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/robopen{desc = "This expensive pen is of high craftsmanship is gilded. It contains multiple colors of ink."; icon = 'icons/obj/custom_items.dmi'; icon_state = "eugene_pen"; name = "Golden Pen"},/turf/simulated/floor/carpet,/area/lawoffice)
-"ayK" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Magistrate"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet,/area/lawoffice)
-"ayL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/lawoffice)
-"ayM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/lawoffice)
-"ayN" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"ayO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ayP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"ayQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"ayR" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"ayS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"ayT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/glass{name = "Mr. Chang's"},/turf/simulated/floor,/area/crew_quarters/mrchangs)
-"ayU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area)
-"ayV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"ayW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Barber Shop"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber)
-"ayX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall,/area)
-"ayY" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/locker)
-"ayZ" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/crew_quarters/locker)
-"aza" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"azb" = (/turf/simulated/floor/engine{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
-"azc" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"azd" = (/obj/item/weapon/screwdriver,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"aze" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"azf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"azg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"azh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"azi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"azj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/south)
-"azk" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry)
-"azl" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azm" = (/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azn" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_1_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azo" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_2_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"azs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Arrivals North Maintenance APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry)
-"azt" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"azu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"azv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"azw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"azx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"azy" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"azz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "solar_tool_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_tool_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_tool_pump"; tag_exterior_door = "solar_tool_outer"; frequency = 1379; id_tag = "solar_tool_airlock"; tag_interior_door = "solar_tool_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_tool_sensor"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"azA" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"azB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/spray/waterflower,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"azC" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/paper_bin,/obj/item/toy/crayon/mime,/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"azD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
-"azE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"azF" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"azG" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"azH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"azI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"azJ" = (/obj/machinery/cryopod,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"azK" = (/obj/structure/cryofeed,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"azL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/fitness)
-"azM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness)
-"azN" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azO" = (/obj/machinery/requests_console{department = "Crew Quarters"; pixel_y = 30},/obj/machinery/camera/xray{c_tag = "Dormitories"},/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azP" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azQ" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azR" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azS" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sign/chinese{pixel_y = 30},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/structure/stool/bed/chair/sofa/right,/obj/machinery/camera{c_tag = "Boxing Ring"},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/sofa,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/barber{pixel_y = 30},/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"azZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"aAa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
-"aAb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area/security/lobby)
-"aAg" = (/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aAh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAi" = (/obj/structure/window/basic{dir = 8},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/blue,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/red,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAl" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aAm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area)
-"aAn" = (/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aAo" = (/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aAp" = (/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aAq" = (/obj/machinery/party/lasermachine{mirrored = 1},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aAr" = (/turf/simulated/floor/wood,/area/secret/gaybar)
-"aAs" = (/turf/simulated/floor/light,/area/secret/gaybar)
-"aAt" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/light,/area/secret/gaybar)
-"aAu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"aAv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aAw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aAx" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = -25; req_one_access_txt = "13;48"; tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "admin_shuttle_dock_sensor"; pixel_x = -8; pixel_y = -25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"aAy" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"aAz" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"aAA" = (/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aAB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"aAC" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south)
-"aAD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aAE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/south)
-"aAF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/south)
-"aAG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aAH" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aAI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"aAJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aAK" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aAL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aAM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aAN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Mime"},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aAO" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aAP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aAQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aAR" = (/turf/simulated/floor/carpet,/area/lawoffice)
-"aAS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/lawoffice)
-"aAT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/device/megaphone,/turf/simulated/floor/carpet,/area/lawoffice)
-"aAU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/lawoffice)
-"aAV" = (/obj/structure/table/reinforced,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aAW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aAX" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aAY" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aAZ" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/law,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBa" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aBe" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness)
-"aBf" = (/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBg" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"aBm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBo" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness)
-"aBu" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"aBv" = (/obj/machinery/camera{c_tag = "Secret Space Bar West"; dir = 4; network = list("SS13")},/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aBw" = (/obj/machinery/camera{c_tag = "Arrivals North East"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aBx" = (/turf/simulated/floor,/area/hallway/secondary/entry)
-"aBy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/entry)
-"aBz" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Port Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aBA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aBB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aBC" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aBD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint2)
-"aBE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint2)
-"aBF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint)
-"aBG" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint)
-"aBH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aBI" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aBJ" = (/obj/machinery/power/apc{name = "Mime Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/security/vacantoffice2)
-"aBK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/lawoffice)
-"aBL" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder{pixel_x = -4},/obj/machinery/door_control{id = "magistrate_blast"; name = "Privacy Shutters"; pixel_y = -25},/turf/simulated/floor/carpet,/area/lawoffice)
-"aBM" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/filingcabinet,/turf/simulated/floor/carpet,/area/lawoffice)
-"aBN" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/carpet,/area/lawoffice)
-"aBO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice)
-"aBP" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBQ" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBR" = (/obj/structure/table/reinforced,/obj/machinery/light/small/lamp,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBS" = (/obj/structure/table/reinforced,/obj/machinery/light/small/lamp,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBT" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/camera{c_tag = "Internal Affairs"; dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aBV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"aBW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"aBX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore)
-"aBY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"aBZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aCa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"aCb" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aCc" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness)
-"aCd" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCe" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCf" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"aCl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Fitness Room"},/obj/machinery/power/apc{dir = 1; name = "Fitness Room APC"; pixel_x = -1; pixel_y = 26},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness)
-"aCq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCr" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCs" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCt" = (/obj/machinery/camera{c_tag = "Holodeck"},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCu" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"aCv" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aCw" = (/obj/machinery/partyalarm{pixel_y = 30},/obj/machinery/party/turntable{pixel_x = 32},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aCx" = (/turf/space,/area/shuttle/constructionsite/station)
-"aCy" = (/obj/machinery/computer/shuttle_control/engineering{req_access = null; req_one_access_txt = "11;24"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry)
-"aCz" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry)
-"aCA" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aCB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aCC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aCD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aCE" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aCF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area)
-"aCG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aCH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"aCI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/lawoffice)
-"aCJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"aCK" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4; network = list("SS13")},/obj/machinery/power/apc{dir = 8; name = "Fore Primary Hallway APC"; pixel_x = -24},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
-"aCL" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"aCM" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aCN" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCO" = (/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCP" = (/obj/machinery/door/window/westright{name = "Boxing Ring"},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aCT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"aCW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCX" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/stamp/law,/obj/machinery/light,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet,/area/lawoffice)
-"aCY" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aCZ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDa" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness)
-"aDd" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDe" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDf" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"aDg" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aDh" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aDi" = (/obj/structure/table/reinforced,/obj/machinery/party/mixer,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aDj" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aDk" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"aDl" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aDm" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aDn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"aDo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Port Solar APC"; pixel_x = -25; pixel_y = 3},/obj/machinery/camera{c_tag = "Fore Port Solar Control"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aDp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aDq" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aDr" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aDs" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/weapon/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 32; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aDt" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 1; name = "Tajaran Embassy APC"; pixel_x = -1; pixel_y = 26},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aDu" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aDv" = (/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aDw" = (/obj/machinery/power/apc{name = "EVA Maintenance APC"; dir = 1; step_y = 0; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDx" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDC" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDF" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aDG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aDH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore)
-"aDI" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aDJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aDK" = (/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDL" = (/obj/structure/table/woodentable,/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDM" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDN" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/clothing/gloves/boxing,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDO" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aDP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aDQ" = (/obj/machinery/door/window/eastleft{name = "Boxing Ring"},/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aDR" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"aDS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDU" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDW" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aDX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness)
-"aDY" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"aDZ" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEa" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/auxstarboard)
-"aEb" = (/obj/structure/stool/bed/chair/comfy/lime{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aEc" = (/obj/machinery/party/turntable{pixel_x = 32},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aEd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aEe" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "engineering_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "engineering_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aEf" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aEg" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aEh" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2)
-"aEi" = (/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/closet/secure_closet/personal,/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/turf/simulated/floor{icon_state = "red"; dir = 5},/area)
-"aEj" = (/turf/simulated/wall/r_wall,/area/security/checkpoint2)
-"aEk" = (/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/closet/secure_closet/personal,/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2)
-"aEl" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2)
-"aEm" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"aEn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aEo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aEp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aEq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aEr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aEs" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aEt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access_txt = "0"; req_one_access_txt = "18"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
-"aEu" = (/obj/structure/grille,/turf/space,/area/toxins/mixing)
-"aEv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aEw" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore)
-"aEx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aEy" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aEz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aEA" = (/obj/machinery/computer/cryopod{density = 0; pixel_x = -32; pixel_y = 0},/obj/machinery/camera{c_tag = "Cryodorms"; c_tag_order = 999; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aEB" = (/obj/machinery/door/airlock{id_tag = "Cryogenics"; name = "Cryodorms"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aEC" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aED" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aEE" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aEF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aEG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness)
-"aEH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEI" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/crew_quarters/fitness)
-"aEJ" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness)
-"aEK" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/crew_quarters/fitness)
-"aEL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness)
-"aEM" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aEQ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aER" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aES" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aET" = (/obj/machinery/camera{c_tag = "Secret Space Bar East"; dir = 8; network = list("SS13")},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aEU" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aEV" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"aEW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2)
-"aEX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2)
-"aEY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/security/checkpoint2)
-"aEZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2)
-"aFa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2)
-"aFb" = (/obj/machinery/power/apc{dir = 1; name = "Arrivals North Maintenance APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aFc" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aFd" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aFe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aFf" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aFg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aFh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aFi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aFj" = (/turf/simulated/wall,/area/maintenance/fpmaint)
-"aFk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aFl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aFm" = (/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aFn" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Hardsuits"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aFo" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFp" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/vending/eva,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFs" = (/obj/machinery/power/apc{dir = 1; name = "EVA APC"; pixel_x = 3; pixel_y = 23},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFu" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aFv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aFw" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aFx" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aFy" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aFz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aFA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"aFB" = (/obj/machinery/requests_console{announcementConsole = 0; department = "IAA"; departmentType = 0; name = "IAA RC"; pixel_y = -30},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"aFC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"aFK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aFL" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/fitness)
-"aFM" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness)
-"aFN" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/crew_quarters/fitness)
-"aFO" = (/obj/machinery/camera{c_tag = "Fitness Room South"; dir = 1},/obj/machinery/light,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness)
-"aFP" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aFQ" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aFR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_chapel_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "solar_chapel_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "solar_chapel_airlock"; pixel_x = 25; req_access_txt = "13"; tag_airpump = "solar_chapel_pump"; tag_chamber_sensor = "solar_chapel_sensor"; tag_exterior_door = "solar_chapel_outer"; tag_interior_door = "solar_chapel_inner"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aFS" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aFT" = (/obj/machinery/door/window/southleft{name = "DJ Booth"},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aFU" = (/obj/machinery/party/lasermachine,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aFV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area)
-"aFW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area)
-"aFX" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry)
-"aFY" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry)
-"aFZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aGa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/door/airlock/glass_security{id_tag = "DetentionLeft"; layer = 2.8; name = "Detention"; req_access_txt = "1"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint2)
-"aGb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aGc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/door/airlock/glass_security{id_tag = "DetentionRight"; layer = 2.8; name = "Detention"; req_access_txt = "1"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint2)
-"aGd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/security/checkpoint2)
-"aGe" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aGk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aGl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aGm" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aGn" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/medical,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aGo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"aGp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aGq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aGr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aGs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aGt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aGu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aGv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aGw" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/security,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aGx" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aGy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/fitness)
-"aGz" = (/obj/machinery/power/apc{dir = 2; name = "Dormitory APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGA" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGC" = (/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGD" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGE" = (/obj/machinery/atm{pixel_y = -32},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGF" = (/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGJ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
-"aGK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness)
-"aGL" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor,/area/crew_quarters/fitness)
-"aGM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aGN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/mob/living/simple_animal/crab/Coffee,/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aGO" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/crew_quarters/fitness)
-"aGP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aGQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aGR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aGS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Art Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/art)
-"aGT" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aGU" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aGV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aGW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aGX" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aGY" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Dance Club APC"; pixel_x = -25},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aGZ" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHa" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHb" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHc" = (/obj/machinery/camera{c_tag = "Security Checkpoint Detention"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2)
-"aHd" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aHe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aHf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aHg" = (/obj/structure/closet/secure_closet/exile{req_access = list(1)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2)
-"aHh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aHi" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aHj" = (/obj/machinery/space_heater,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aHk" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aHl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Tajaran Embassy"; dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aHm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran)
-"aHn" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aHo" = (/obj/machinery/requests_console{department = "EVA"; pixel_x = -32; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aHp" = (/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aHq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aHr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aHs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aHt" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aHu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
-"aHv" = (/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aHw" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/sleep)
-"aHx" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aHy" = (/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aHz" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aHA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art)
-"aHB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/art)
-"aHC" = (/turf/simulated/floor,/area/storage/art)
-"aHD" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aHE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aHF" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aHG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHI" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/secret/gaybar)
-"aHK" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHL" = (/obj/machinery/vending/coffee,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHM" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHN" = (/obj/machinery/camera{c_tag = "Arrivals North"; dir = 1; network = list("SS13"); pixel_x = 22},/obj/machinery/door/firedoor,/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aHO" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHP" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHQ" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry)
-"aHR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/security{name = "Detention Cells"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/checkpoint2)
-"aHS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/command{name = "Tajaran Embassy"; req_access_txt = "120"},/turf/simulated/floor,/area/embassy/tajaran)
-"aHT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aHU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/motion{c_tag = "EVA Motion Sensor"; dir = 4},/obj/structure/table/reinforced,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aHV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aHW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "EVA East"; dir = 8},/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aHX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aHY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/head/helmet/space/skrell/white,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aHZ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/skrell/black,/obj/item/clothing/suit/space/skrell/black,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aIa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aIb" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aIc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aId" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aIe" = (/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aIf" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aIg" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aIh" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aIi" = (/obj/machinery/camera{c_tag = "Bar Storage"},/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aIj" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/revolver/doublebarrel,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aIk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aIl" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art)
-"aIm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/art)
-"aIn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Art Storage"; pixel_x = 27; pixel_y = 2},/turf/simulated/floor,/area/storage/art)
-"aIo" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area)
-"aIp" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aIq" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area)
-"aIr" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aIs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aIt" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aIu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aIv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Club Escapism"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aIw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aIx" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"aIy" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aIz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aIA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aIB" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aIC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aID" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aIE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aIF" = (/obj/machinery/power/apc{dir = 1; name = "Checkpoint APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2)
-"aIG" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2)
-"aIH" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2)
-"aII" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2)
-"aIJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aIK" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aIL" = (/turf/simulated/floor/beach/water,/area/embassy/skrell)
-"aIM" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/beach/water,/area/embassy/skrell)
-"aIN" = (/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aIO" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aIP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/flag/species/taj,/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Port Hallway North"; dir = 2},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aIQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aIR" = (/obj/item/flag/species/taj,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aIS" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aIT" = (/turf/simulated/floor/engine,/area/embassy/unathi)
-"aIU" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aIV" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aIW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Jetpack Storage"; req_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aIX" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aIY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aIZ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aJa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Xeno Hardsuits"; req_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aJb" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aJc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
-"aJd" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aJe" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aJf" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aJg" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aJh" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/secure/safe{pixel_x = -22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aJi" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aJj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aJk" = (/obj/machinery/door/airlock/maintenance{name = "Bar Office Maintenance"; req_access_txt = "25"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/bar)
-"aJl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{sortType = 19},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aJn" = (/obj/structure/window/reinforced,/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aJo" = (/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/camera{c_tag = "Pool"; dir = 1},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aJp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness)
-"aJq" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/storage/art)
-"aJr" = (/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor,/area/storage/art)
-"aJs" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/device/camera_film,/obj/item/device/camera,/turf/simulated/floor,/area/storage/art)
-"aJt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Starboard Solar APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aJu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aJv" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aJw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aJx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aJy" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aJz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJH" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aJI" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint2)
-"aJJ" = (/obj/machinery/door/poddoor{id = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area)
-"aJK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry)
-"aJL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aJM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry)
-"aJN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aJO" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aJP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aJQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aJR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aJS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aJT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"aJU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2)
-"aJV" = (/turf/simulated/floor,/area/security/checkpoint2)
-"aJW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint2)
-"aJX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/checkpoint2)
-"aJY" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2)
-"aJZ" = (/obj/structure/closet,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aKa" = (/obj/item/flag/species/skrell,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aKb" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aKc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aKd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aKe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/unathi,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aKf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aKg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aKh" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/weapon/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aKi" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aKj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aKk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/evaguide,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aKl" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/vox/pressure{armor = list("melee" = 40, "bullet" = 10, "laser" = 20, "energy" = 15, "bomb" = 30, "bio" = 100, "rad" = 80); desc = "A huge, armoured, pressurized suit, designed for distinctly nonhuman proportions. Built by NT to emulate Vox design, but with the materials seen in an engineering RIG."; name = "NT Vox RIG"},/obj/item/clothing/gloves/yellow/vox,/obj/item/clothing/head/helmet/space/vox/pressure{armor = list("melee" = 40, "bullet" = 10, "laser" = 20, "energy" = 15, "bomb" = 30, "bio" = 100, "rad" = 80); name = "NT Vox Helmet"},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/weapon/tank/nitrogen,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aKm" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/unathi/rig_cheap,/obj/item/clothing/head/helmet/space/unathi/helmet_cheap,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva)
-"aKn" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aKo" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aKp" = (/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aKq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
-"aKr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aKs" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aKt" = (/obj/machinery/power/apc{dir = 4; name = "Dormitory Bathrooms APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aKu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area)
-"aKv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aKw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aKx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/device/eftpos{eftpos_name = "Bar EFTPOS scanner"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aKy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
-"aKA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aKB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aKC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aKD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKG" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aKI" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area)
-"aKJ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/wall,/area)
-"aKK" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/chapel/main)
-"aKL" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/chapel/main)
-"aKM" = (/turf/space,/area/shuttle/escape/station)
-"aKN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/arrival/station)
-"aKO" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/arrival/station)
-"aKP" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aKQ" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station)
-"aKR" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station)
-"aKS" = (/turf/simulated/floor,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/arrival/station)
-"aKT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aKU" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aKV" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aKW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aKX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aKY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aKZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aLa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"aLb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2)
-"aLc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-enterance"; name = "Customs Enterance Open"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-enterance"; name = "Customs Enterance Bolts"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 4},/turf/simulated/floor,/area/security/checkpoint2)
-"aLd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Customs Officer"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint2)
-"aLe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-exit"; name = "Customs Exit Open"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-exit"; name = "Customs Exit Bolts"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/checkpoint2)
-"aLf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2)
-"aLg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "0"; req_one_access_txt = "1;68"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aLh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aLi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aLj" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "Skrell Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aLk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aLl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aLm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aLn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aLo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/research{name = "Skrell Embassy"; req_access_txt = "121"},/turf/simulated/floor,/area/embassy/skrell)
-"aLp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aLq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aLr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aLs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aLt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aLu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/security{name = "Unathi Embassy"; req_access_txt = "122"},/turf/simulated/floor,/area/embassy/unathi)
-"aLv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aLw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aLx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aLy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aLz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 4; name = "Unathi Embassy APC"; pixel_x = 25},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aLA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aLB" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/suit_storage_unit,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aLC" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/machinery/suit_storage_unit,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aLD" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aLE" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/fore)
-"aLF" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
-"aLG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aLH" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aLI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aLJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
-"aLK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aLL" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aLM" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aLN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aLO" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aLP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aLQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aLR" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/window/reinforced,/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aLS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLX" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 20; tag = "icon-pipe-j1s (EAST)"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aLZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMa" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMb" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMc" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMd" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMi" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMj" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aMk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area)
-"aMl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aMm" = (/obj/machinery/camera{c_tag = "Club Hall North"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aMn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area)
-"aMo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall,/area)
-"aMp" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/library)
-"aMq" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library)
-"aMr" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library)
-"aMs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library)
-"aMt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area)
-"aMu" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/chapel/office)
-"aMv" = (/obj/structure/closet/wardrobe/chaplain_black,/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aMw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/requests_console{department = "Chapel"; departmentType = 2; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aMx" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Chapel Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aMy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aMz" = (/obj/structure/closet/coffin,/obj/structure/window/basic{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aMA" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aMB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aMC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aMD" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aME" = (/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aMF" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/obj/machinery/mass_driver{dir = 1; id = "chapelgun"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/chapel/main)
-"aMG" = (/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aMH" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aMI" = (/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aMJ" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aMK" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aML" = (/obj/effect/landmark{name = "Marauder Entry"},/turf/space,/area)
-"aMM" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/arrival/station)
-"aMN" = (/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMO" = (/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMP" = (/obj/structure/closet/wardrobe/black,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMQ" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/sandal,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMR" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMS" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aMT" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/arrival/station)
-"aMU" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry)
-"aMV" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry)
-"aMW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry)
-"aMX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/hallway/secondary/entry)
-"aMY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aMZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2)
-"aNa" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aNb" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aNc" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2)
-"aNd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2)
-"aNe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aNf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aNg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aNh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aNi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aNj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aNk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aNl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/skrell,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aNm" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aNn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aNo" = (/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aNp" = (/obj/item/flag/species/unathi,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aNq" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aNr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aNs" = (/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aNt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/filingcabinet,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aNu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Entertainer Suits"; req_access_txt = "0"; req_one_access_txt = "18;46"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aNv" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aNw" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aNx" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/north)
-"aNy" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/north)
-"aNz" = (/obj/structure/sign/directions/security{dir = 1; pixel_y = 7},/turf/simulated/wall,/area)
-"aNA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"aNB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep)
-"aNC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
-"aND" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aNE" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aNF" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aNG" = (/obj/machinery/door/airlock{name = "Unit B"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aNH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"aNI" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = -28; pixel_y = 4},/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aNJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aNK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/window/southleft{tag = "icon-left (WEST)"; name = "Bar Delivery"; icon_state = "left"; dir = 8; req_access_txt = "25"; base_state = "left"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar)
-"aNL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Bar"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/bar)
-"aNM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area)
-"aNR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "28"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
-"aNS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen)
-"aNT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNV" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 2; name = "Bar Maintenance APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 21; tag = "icon-pipe-j1s (EAST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aNZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 17},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOd" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
-"aOe" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aOf" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aOg" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"aOh" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library)
-"aOi" = (/turf/simulated/floor/wood,/area/library)
-"aOj" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library)
-"aOk" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
-"aOl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aOm" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
-"aOn" = (/obj/structure/crematorium,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aOo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aOp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aOq" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aOr" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aOs" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aOt" = (/obj/structure/closet/coffin,/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aOu" = (/obj/machinery/driver_button{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aOv" = (/turf/simulated/wall,/area/chapel/main)
-"aOw" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/arrival/station)
-"aOx" = (/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aOy" = (/obj/effect/landmark{name = "HONKsquad"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aOz" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aOA" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/shuttle/arrival/station)
-"aOB" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aOC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aOD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/hallway/secondary/entry)
-"aOE" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor,/area/security/checkpoint2)
-"aOF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aOG" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "delivery"},/area/security/checkpoint2)
-"aOH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aOI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/checkpoint2)
-"aOJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area)
-"aOK" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
-"aOL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aOM" = (/obj/machinery/camera{c_tag = "Skrell Embassy"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell)
-"aON" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aOO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/flora/kirbyplants,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aOP" = (/obj/machinery/space_heater,/turf/simulated/floor/engine,/area/embassy/unathi)
-"aOQ" = (/obj/machinery/camera{c_tag = "Unathi Embassy"; dir = 1},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aOR" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/engine,/area/embassy/unathi)
-"aOS" = (/obj/item/clothing/suit/space/mime,/obj/item/clothing/head/helmet/space/mime,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aOT" = (/obj/item/clothing/suit/space/clown,/obj/item/clothing/head/helmet/space/clown,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aOU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aOV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aOW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aOX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "EVA South"; dir = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva)
-"aOY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"aOZ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aPa" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central/north)
-"aPb" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Central Hallway North"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/obj/item/flag/nt,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/north)
-"aPc" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aPd" = (/turf/simulated/floor,/area/hallway/primary/central/north)
-"aPe" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aPf" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall North APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/item/flag/nt,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/north)
-"aPg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central/north)
-"aPh" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aPi" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central)
-"aPj" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/hallway/primary/central/ne)
-"aPk" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central/ne)
-"aPl" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aPm" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"aPn" = (/turf/simulated/wall,/area/crew_quarters/bar)
-"aPo" = (/obj/machinery/door/airlock{name = "Bar Office"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/bar)
-"aPp" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/bar)
-"aPq" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aPr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aPs" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aPt" = (/obj/machinery/camera{c_tag = "Kitchen Freezer"},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aPu" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen)
-"aPv" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics)
-"aPw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area)
-"aPx" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/hydroponics)
-"aPy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aPz" = (/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aPA" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aPB" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library)
-"aPC" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
-"aPD" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library)
-"aPE" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/wood,/area/library)
-"aPF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aPG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aPH" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aPI" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aPJ" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aPK" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aPL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"aPM" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
-"aPN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aPO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/arrival/station)
-"aPP" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/arrival/station)
-"aPQ" = (/obj/effect/landmark{name = "HONKsquad"},/obj/machinery/camera{c_tag = "Arrivals Shuttle East"; dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aPR" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/arrival/station)
-"aPS" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aPT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry)
-"aPU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aPV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry)
-"aPW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"aPX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hallway/secondary/entry)
-"aPY" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/primary/port/east)
-"aPZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Arrivals Hallway East"; dir = 2},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/primary/port/east)
-"aQa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aQb" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aQc" = (/turf/simulated/floor,/area/hallway/primary/port/east)
-"aQd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"aQe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aQf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Arcade"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aQg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area)
-"aQh" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"aQi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"aQj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area)
-"aQk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
-"aQl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
-"aQm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area)
-"aQn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"aQo" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/north)
-"aQp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/central/north)
-"aQq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/north)
-"aQr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"aQs" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"aQt" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"aQu" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central)
-"aQv" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central/ne)
-"aQw" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aQx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aQy" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/beer,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aQz" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Bar North"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aQA" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aQB" = (/obj/machinery/power/apc{dir = 1; name = "Bar APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aQC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aQD" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aQE" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aQF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aQG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aQH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aQI" = (/mob/living/simple_animal/hostile/retaliate/goat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aQJ" = (/obj/machinery/door/window/eastright{tag = "icon-right"; name = "Hydroponics Delivery"; icon_state = "right"; dir = 2; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics)
-"aQK" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/camera{c_tag = "Hydroponics Pasture"},/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hydroponics)
-"aQL" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics)
-"aQM" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics)
-"aQN" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics)
-"aQO" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQQ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQS" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQU" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQV" = (/obj/machinery/power/apc{dir = 1; name = "Hydroponics APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQW" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_beekeeping,/obj/item/device/eftpos{eftpos_name = "Botany EFTPOS scanner"},/obj/item/weapon/paper/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aQX" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aQY" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aQZ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aRa" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area)
-"aRb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/library)
-"aRc" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library)
-"aRd" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/library)
-"aRe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aRf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aRg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aRh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aRi" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aRj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"aRk" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"aRl" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aRm" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/engine,/area/hallway/secondary/exit)
-"aRn" = (/obj/machinery/camera/xray{c_tag = "Arrivals Shuttle West"; dir = 4},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aRo" = (/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aRp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aRq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/arrival/station)
-"aRr" = (/obj/machinery/atm{pixel_x = -32},/obj/machinery/light{dir = 8},/obj/machinery/camera/xray{c_tag = "Arrivals Central"; dir = 4},/obj/item/device/radio/beacon,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aRs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/entry)
-"aRt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry)
-"aRu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-enterance"; name = "Customs Enterance"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aRv" = (/obj/machinery/light,/obj/machinery/metaldetector,/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry)
-"aRw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-exit"; name = "Customs Exit"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aRx" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/port/east)
-"aRy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRA" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRB" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRC" = (/obj/machinery/camera{c_tag = "Port Hallway 2"; dir = 2},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRD" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRG" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aRJ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRK" = (/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRL" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRM" = (/obj/machinery/camera{c_tag = "Central Hallway North-West"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRN" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRO" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall NW APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aRP" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aRQ" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/nw)
-"aRR" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aRS" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "L1"},/area/hallway/primary/central/north)
-"aRT" = (/turf/simulated/floor{icon_state = "L3"},/area/hallway/primary/central/north)
-"aRU" = (/turf/simulated/floor{icon_state = "L5"},/area/hallway/primary/central/north)
-"aRV" = (/turf/simulated/floor{icon_state = "L7"},/area/hallway/primary/central/north)
-"aRW" = (/turf/simulated/floor{icon_state = "L9"},/area/hallway/primary/central/north)
-"aRX" = (/turf/simulated/floor{icon_state = "L11"},/area/hallway/primary/central/north)
-"aRY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{desc = ""; icon_state = "L13"; name = "floor"},/area/hallway/primary/central/north)
-"aRZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "L15"},/area/hallway/primary/central/north)
-"aSa" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/north)
-"aSb" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSc" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central/ne)
-"aSd" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central/ne)
-"aSe" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central/ne)
-"aSf" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Central Hallway North-East"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSh" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSi" = (/obj/machinery/power/apc{dir = 1; name = "Central Hall NE APC"; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSj" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSk" = (/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aSl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/pen/blue{pixel_x = 0; pixel_y = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/book/manual/barman_recipes,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSn" = (/obj/structure/disposalpipe/segment{dir = 4},/mob/living/carbon/monkey{tag = "icon-punpun1"; name = "Pun Pun"; icon_state = "punpun1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSo" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSp" = (/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aSr" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aSs" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aSt" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aSu" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aSv" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aSw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aSx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aSy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSz" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics)
-"aSA" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/mob/living/simple_animal/pig,/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics)
-"aSB" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics)
-"aSC" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics)
-"aSD" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Hydroponics Pasture"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSE" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSK" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aSL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aSM" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/wall,/area)
-"aSN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aSO" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aSP" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
-"aSQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/library)
-"aSR" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aSS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aST" = (/obj/machinery/power/apc{dir = 8; name = "Chapel Office APC"; pixel_x = -25},/obj/structure/cable,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aSU" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aSV" = (/obj/machinery/camera{c_tag = "Chapel North"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aSW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aSX" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aSY" = (/obj/machinery/door/airlock/glass{name = "Escape Pod Bay"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aSZ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"aTa" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aTb" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/arrival/station)
-"aTc" = (/turf/simulated/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/arrival/station)
-"aTd" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aTe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aTf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aTg" = (/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aTh" = (/obj/machinery/transformer/xray/conveyor{dir = 1},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aTi" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/primary/port/east)
-"aTj" = (/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; tag = "icon-plaque (EAST)"; temperature = 80},/area/hallway/primary/port/east)
-"aTk" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHW"; location = "Lockers"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/signpost,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = "A plaque comemmorating some obscure act of racial harmony. Made with expensive materials and cheap sentiment."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; tag = "icon-plaque (EAST)"; temperature = 80},/area/hallway/primary/port/east)
-"aTr" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTs" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aTt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aTu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aTv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aTw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L2"},/area/hallway/primary/central/north)
-"aTx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L4"},/area/hallway/primary/central/north)
-"aTy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L6"},/area/hallway/primary/central/north)
-"aTz" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Lockers"; location = "EVA"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L8"},/area/hallway/primary/central/north)
-"aTA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L10"},/area/hallway/primary/central/north)
-"aTB" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Security"; location = "EVA2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L12"},/area/hallway/primary/central/north)
-"aTC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = ""; icon_state = "L14"},/area/hallway/primary/central/north)
-"aTD" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{icon_state = "L16"},/area/hallway/primary/central/north)
-"aTE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/north)
-"aTF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aTG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aTH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aTI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aTJ" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aTK" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aTL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aTM" = (/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aTN" = (/obj/machinery/door/window{dir = 4; name = "Bar Door"; req_access_txt = "25"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aTO" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aTP" = (/obj/machinery/light/small{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aTQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aTR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aTS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aTT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aTU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aTV" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aTW" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics)
-"aTX" = (/turf/simulated/floor/grass,/area/hydroponics)
-"aTY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/grass,/area/hydroponics)
-"aTZ" = (/mob/living/simple_animal/cow{name = "Betsy"},/turf/simulated/floor/grass,/area/hydroponics)
-"aUa" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics)
-"aUb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aUc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics)
-"aUd" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library)
-"aUe" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
-"aUf" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library)
-"aUg" = (/obj/machinery/door/airlock/glass{name = "Chapel Office"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
-"aUh" = (/obj/machinery/door/morgue{name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aUi" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aUj" = (/obj/machinery/camera{c_tag = "Departure Lounge North"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aUk" = (/turf/simulated/floor,/area/hallway/secondary/exit)
-"aUl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aUm" = (/obj/machinery/computer/arcade,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aUn" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aUo" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/exit)
-"aUp" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/exit)
-"aUq" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/arrival/station)
-"aUr" = (/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aUs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"aUt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-enterance2"; name = "Customs Enterance"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aUu" = (/obj/machinery/metaldetector,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry)
-"aUv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-exit2"; name = "Customs Exit"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry)
-"aUw" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port)
-"aUA" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUD" = (/obj/machinery/camera{c_tag = "Port Hallway Central"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Port Hallway East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aUM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aUN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aUO" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=QM"; location = "CHW"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aUP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aUQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aUR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aUS" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aUT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"aUU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aUV" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aUW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aUX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north)
-"aUY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne)
-"aUZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne)
-"aVa" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aVb" = (/obj/machinery/slot_machine,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/slot_machine,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVd" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVe" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aVh" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aVi" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/freezer{req_access_txt = "28"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
-"aVj" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
-"aVk" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics)
-"aVl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics)
-"aVm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/portable_atmospherics/hydroponics/soil,/mob/living/simple_animal/chicken{name = "Commander Clucky"},/turf/simulated/floor/grass,/area/hydroponics)
-"aVn" = (/obj/machinery/floodlight,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVp" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVq" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVr" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVs" = (/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/requests_console{department = "Hydroponics"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aVv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aVw" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library)
-"aVx" = (/turf/simulated/floor/carpet,/area/library)
-"aVy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/library)
-"aVz" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/turf/simulated/floor/wood,/area/library)
-"aVA" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library)
-"aVB" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aVC" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/eftpos{eftpos_name = "Library EFTPOS scanner"},/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "Camera"; pictures_left = 30; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aVD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aVE" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aVF" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"aVG" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
-"aVH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"aVI" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
-"aVJ" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aVK" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aVL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aVM" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"aVN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/arrival/station)
-"aVO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aVP" = (/obj/machinery/requests_console{department = "Arrival shuttle"; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aVQ" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry)
-"aVR" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry)
-"aVS" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry)
-"aVT" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/hallway/secondary/entry)
-"aVU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"aVV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry)
-"aVW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aVX" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hallway/secondary/entry)
-"aVY" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/primary/port/east)
-"aVZ" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/primary/port/east)
-"aWa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aWb" = (/obj/machinery/camera{c_tag = "Customs Exit"; dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aWc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"aWd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Arcade"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aWe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"aWf" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/nw)
-"aWg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/nw)
-"aWh" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aWi" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"aWj" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"aWk" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/status_display{density = 0; layer = 4},/turf/simulated/floor/plating,/area)
-"aWl" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"aWm" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/plating,/area)
-"aWn" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aWo" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"aWp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/status_display{density = 0; layer = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area)
-"aWq" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"aWr" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aWs" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/ne)
-"aWt" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWv" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWy" = (/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWz" = (/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWA" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWB" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
-"aWC" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aWD" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aWE" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aWF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Hydroponics Pasture"; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aWG" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"aWH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"aWI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"aWJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics)
-"aWK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
-"aWL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics)
-"aWM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aWN" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aWO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/library)
-"aWP" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aWQ" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aWR" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aWS" = (/obj/structure/cult/tome,/obj/item/device/videocam,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aWT" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"aWU" = (/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"aWV" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aWW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"aWX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"aWY" = (/obj/machinery/door/morgue{name = "Confession Booth"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aWZ" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aXa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aXb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aXc" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aXd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aXe" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"aXf" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aXg" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aXh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aXi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry)
-"aXj" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/hallway/secondary/entry)
-"aXk" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint)
-"aXl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"aXm" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "delivery"},/area/security/checkpoint)
-"aXn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"aXo" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/turf/simulated/floor,/area/security/checkpoint)
-"aXp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aXq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aXr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aXs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor/grass,/area/embassy/diona)
-"aXt" = (/turf/simulated/floor/grass,/area/embassy/diona)
-"aXu" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/embassy/diona)
-"aXv" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/grass,/area/embassy/diona)
-"aXw" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aXx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aXy" = (/obj/machinery/power/apc{dir = 4; name = "Port Hall East APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aXz" = (/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aXA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aXB" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aXC" = (/obj/structure/sign/kidanplaque{pixel_y = 32},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aXD" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aXE" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw)
-"aXF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/nw)
-"aXG" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aXH" = (/turf/simulated/wall/r_wall,/area/bridge)
-"aXI" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"},/area/bridge)
-"aXJ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/turf/simulated/floor{icon_state = "red"},/area/bridge)
-"aXK" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/secure/briefcase,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge)
-"aXL" = (/obj/structure/window/reinforced/tinted{dir = 5},/turf/simulated/floor/plating,/area/bridge)
-"aXM" = (/obj/machinery/computer/communications,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/bridge)
-"aXN" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge)
-"aXO" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge)
-"aXP" = (/obj/machinery/computer/crew,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge)
-"aXQ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge)
-"aXR" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge)
-"aXS" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/ne)
-"aXT" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"aXU" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area)
-"aXV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aXW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aXX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aXY" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aXZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYa" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYb" = (/obj/machinery/cooker/foodgrill,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"aYc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYd" = (/obj/machinery/cooker/cerealmaker,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYe" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"aYf" = (/obj/machinery/cooker/deepfryer,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYg" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/cooking,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aYh" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aYi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics)
-"aYj" = (/turf/simulated/floor,/area/hydroponics)
-"aYk" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor,/area/hydroponics)
-"aYl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics)
-"aYm" = (/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aYn" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library)
-"aYo" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library)
-"aYp" = (/obj/machinery/camera{c_tag = "Library South"; dir = 8; network = list("SS13")},/turf/simulated/floor/wood,/area/library)
-"aYq" = (/obj/machinery/door/morgue{name = "Private Study"; req_access_txt = "37"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aYr" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aYs" = (/turf/simulated/floor/carpet,/area/chapel/main)
-"aYt" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"aYu" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aYv" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aYw" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aYx" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 3; pixel_y = -25; req_access_txt = "13"},/turf/space,/area)
-"aYy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry)
-"aYz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aYA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry)
-"aYB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aYC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry)
-"aYD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"aYE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint)
-"aYF" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint)
-"aYG" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint)
-"aYH" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint)
-"aYI" = (/obj/machinery/power/apc{dir = 4; name = "Checkpoint APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint)
-"aYJ" = (/obj/structure/closet,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/grass,/area/embassy/diona)
-"aYK" = (/obj/structure/table/woodentable,/turf/simulated/floor/grass,/area/embassy/diona)
-"aYL" = (/obj/item/flag/species/diona,/turf/simulated/floor,/area/hallway/primary/port/east)
-"aYM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"aYN" = (/obj/item/flag/species/kidan,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aYO" = (/obj/structure/kidanstatue,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aYP" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aYQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/dionaroast,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aYR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aYS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"aYT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/noticeboard{pixel_y = 27},/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge)
-"aYU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
-"aYV" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
-"aYW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge)
-"aYX" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge)
-"aYY" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/bridge)
-"aYZ" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge)
-"aZa" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge)
-"aZb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
-"aZc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
-"aZd" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
-"aZe" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge)
-"aZf" = (/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor/wood,/area)
-"aZg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZh" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZi" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZm" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aZn" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZo" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZs" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"aZt" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/crew_quarters/kitchen)
-"aZu" = (/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/hydroponics)
-"aZv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics)
-"aZw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics)
-"aZx" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"aZy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Nightclub Hall"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"aZz" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 8; icon_state = "right"; name = "Library Desk Door"; req_access_txt = "37"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library)
-"aZA" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/library)
-"aZB" = (/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 0},/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/wood,/area/library)
-"aZC" = (/obj/machinery/power/apc{dir = 8; name = "Chapel APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aZD" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"aZE" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"aZF" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"aZG" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aZH" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"aZI" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aZJ" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
-"aZK" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"aZL" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"aZM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aZN" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aZO" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"aZP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry)
-"aZQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"aZR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint)
-"aZS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-enterance2"; name = "Customs Enterance Open"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-enterance2"; name = "Customs Enterance Bolts"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 4},/turf/simulated/floor,/area/security/checkpoint)
-"aZT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Customs Officer"},/turf/simulated/floor,/area/security/checkpoint)
-"aZU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-exit2"; name = "Customs Exit Open"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-exit2"; name = "Customs Exit Bolts"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/security/checkpoint)
-"aZV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint)
-"aZW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area)
-"aZX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aZY" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"aZZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 8; name = "Diona Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/grass,/area/embassy/diona)
-"baa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona)
-"bab" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona)
-"bac" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/grass,/area/embassy/diona)
-"bad" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona)
-"bae" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/sandstone{name = "Diona Embassy"; req_access_txt = "123"},/turf/simulated/floor,/area/embassy/diona)
-"baf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"bag" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"bah" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/security{name = "Kidan Embassy"; req_access_txt = "124"},/turf/simulated/floor,/area/embassy/kidan)
-"bai" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"baj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bak" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bal" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bam" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/power/apc{dir = 4; name = "Kidan Embassy APC"; pixel_x = 25},/obj/structure/table/reinforced,/obj/item/weapon/kidanglobe{pixel_y = 5},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"ban" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw)
-"bao" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"bap" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"baq" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge)
-"bar" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
-"bas" = (/obj/item/weapon/wrench,/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Bridge West"; dir = 2},/obj/item/device/assembly/timer,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
-"bat" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/bridge)
-"bau" = (/turf/simulated/floor,/area/bridge)
-"bav" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge)
-"baw" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge)
-"bax" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/bridge)
-"bay" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/bridge)
-"baz" = (/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/bridge)
-"baA" = (/obj/machinery/computer/med_data,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
-"baB" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge)
-"baC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"baD" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Bar West"; dir = 4; network = list("SS13")},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"baE" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"baF" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"baG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"baH" = (/obj/structure/table/woodentable,/obj/item/clothing/head/cakehat,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"baI" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"baJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{desc = "For making cutlets"; name = "Cutlet Knife"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"baK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"baL" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"baM" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"baN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"baO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"baP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastleft{name = "Hydroponics Desk"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/crew_quarters/kitchen)
-"baQ" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics)
-"baR" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics)
-"baS" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library)
-"baT" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library)
-"baU" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
-"baV" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library)
-"baW" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library)
-"baX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"baY" = (/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"baZ" = (/obj/structure/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
-"bba" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
-"bbb" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"bbc" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"bbd" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bbe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bbf" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bbg" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "escape_dock_north_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access_txt = "13"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "escape_dock_north_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bbh" = (/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bbi" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bbj" = (/obj/machinery/vending/coffee,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bbk" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bbl" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bbm" = (/obj/machinery/vending/cola,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bbn" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry)
-"bbo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"bbp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint)
-"bbq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/checkpoint)
-"bbr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/checkpoint)
-"bbs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/checkpoint)
-"bbt" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = -30},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/machinery/camera{c_tag = "Security Checkpoint"; dir = 1},/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint)
-"bbu" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bbv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bbw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bbx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/filingcabinet,/turf/simulated/floor/grass,/area/embassy/diona)
-"bby" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona)
-"bbz" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona)
-"bbA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/item/flag/species/diona,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bbB" = (/obj/item/flag/species/kidan,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bbC" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/obj/structure/kidanstatue{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bbD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bbE" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bbF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central/nw)
-"bbG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bbH" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bbI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/bridge)
-"bbJ" = (/obj/item/device/radio/beacon,/turf/simulated/floor,/area/bridge)
-"bbK" = (/obj/machinery/hologram/holopad,/obj/effect/landmark/nations{name = "People's Republic of Commandzakstan"},/turf/simulated/floor,/area/bridge)
-"bbL" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/bridge)
-"bbM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/bridge)
-"bbN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/bridge)
-"bbO" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/bridge)
-"bbP" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/bridge)
-"bbQ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bbR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central/ne)
-"bbS" = (/obj/machinery/camera{c_tag = "Bridge East Entrance"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne)
-"bbT" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne)
-"bbU" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bbV" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bbW" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bbX" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bbY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bbZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bca" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bcb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bcc" = (/obj/machinery/processor,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bcd" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"bce" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"bcf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bcg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bch" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Library APC"; pixel_x = -25},/turf/simulated/floor/carpet,/area/library)
-"bci" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/library)
-"bcj" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/library)
-"bck" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/wood,/area/library)
-"bcl" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
-"bcm" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/wood,/area/library)
-"bcn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"bco" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"bcp" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"bcq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/chapel/main)
-"bcr" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
-"bcs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
-"bct" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Chapel South"; dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"bcu" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Departure Lounge West"; dir = 4; network = list("SS13")},/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"bcv" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/exit)
-"bcw" = (/obj/item/flag/nt,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"bcx" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"bcy" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"bcz" = (/obj/machinery/photocopier,/obj/structure/cable,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint)
-"bcA" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint)
-"bcB" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint)
-"bcC" = (/obj/structure/table/reinforced,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint)
-"bcD" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/grass,/area/embassy/diona)
-"bcE" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Diona Embassy"; dir = 1},/turf/simulated/floor/grass,/area/embassy/diona)
-"bcF" = (/obj/machinery/camera{c_tag = "Kidan Embassy"; dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bcG" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bcH" = (/obj/item/weapon/spear/kidan,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan)
-"bcI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/nw)
-"bcJ" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/bridge)
-"bcK" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bcL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor,/area/bridge)
-"bcM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/bridge)
-"bcN" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/bridge)
-"bcO" = (/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bcP" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcQ" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcR" = (/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcS" = (/obj/machinery/camera{c_tag = "Bridge Center"; dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcT" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcU" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcV" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcW" = (/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcX" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "Bridge APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bcY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/bridge)
-"bcZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/bridge)
-"bda" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/bridge)
-"bdb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/bridge)
-"bdc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bdd" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/bridge)
-"bde" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/ne)
-"bdf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"bdg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"bdh" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"bdi" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/hallway/primary/central/ne)
-"bdj" = (/obj/structure/table/woodentable,/obj/item/candle,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bdk" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bdl" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bdm" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bdn" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bdo" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
-"bdp" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bdq" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/requests_console{department = "Kitchen"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bdr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 16},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bds" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bdt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bdu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bdv" = (/obj/machinery/door/airlock/glass{name = "Library"; req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/library)
-"bdw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library)
-"bdx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/library)
-"bdy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/library)
-"bdz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/library)
-"bdA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main)
-"bdB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/chapel/main)
-"bdC" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/chapel/main)
-"bdD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main)
-"bdE" = (/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"bdF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"bdG" = (/obj/structure/bush,/turf/simulated/floor/grass,/area/hallway/secondary/exit)
-"bdH" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bdI" = (/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bdJ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bdK" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bdL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bdM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"bdN" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"bdO" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"bdP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Port Hallway South"; dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bdQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bdR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/nw)
-"bdS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"bdT" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/nw)
-"bdU" = (/obj/machinery/camera{c_tag = "Bridge West Entrance"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/nw)
-"bdV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/hallway/primary/central/nw)
-"bdW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"bdX" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bdY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bdZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bea" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"beb" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/bridge)
-"bec" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/bridge)
-"bed" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/bridge)
-"bee" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/bridge)
-"bef" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge)
-"beg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"beh" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
-"bei" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge)
-"bej" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"bek" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/hallway/primary/central/ne)
-"bel" = (/obj/machinery/power/apc{dir = 2; name = "Central Hall APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne)
-"bem" = (/obj/machinery/light,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne)
-"ben" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne)
-"beo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bep" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"beq" = (/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
-"ber" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bes" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bet" = (/obj/machinery/power/apc{dir = 2; name = "Kitchen APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"beu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bev" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bew" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bex" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bey" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bez" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Library"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/library)
-"beA" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/library)
-"beB" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/library)
-"beC" = (/obj/machinery/camera{c_tag = "Escape Arm Airlocks"; dir = 8; network = list("SS13")},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; id_tag = "escape_dock"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"beD" = (/turf/simulated/floor/grass,/area/hallway/secondary/exit)
-"beE" = (/turf/simulated/floor{desc = "\"This is a plaque in honour of those who died in the great space lube airlock incident.\" Scratched in beneath that is a crude image of a clown and a spaceman. The spaceman is slipping. The clown is laughing."; dir = 4; icon_state = "plaque"; name = "Memorial Plaque"; nitrogen = 30; oxygen = 70; temperature = 80},/area/hallway/secondary/exit)
-"beF" = (/obj/structure/bush,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hallway/secondary/exit)
-"beG" = (/obj/machinery/door/airlock/glass{name = "Public Pod Bay"},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"beH" = (/obj/structure/table,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit)
-"beI" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/crew_quarters/recruit)
-"beJ" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/crew_quarters/recruit)
-"beK" = (/obj/machinery/vending/coffee,/turf/simulated/floor,/area/crew_quarters/recruit)
-"beL" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/crew_quarters/recruit)
-"beM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/flag/nt,/turf/simulated/floor,/area/hallway/primary/port/east)
-"beN" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rainbow,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"beO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"beP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"beQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"beR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"beS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"beT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"beU" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"beV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"beW" = (/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"beX" = (/obj/item/weapon/bedsheet/purple,/obj/structure/stool/bed/alien,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"beY" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw)
-"beZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw)
-"bfa" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/nw)
-"bfb" = (/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bfc" = (/obj/machinery/door/airlock/command{name = "Captain's Office"; req_access = null; req_access_txt = "20"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bfd" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfe" = (/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bff" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfh" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfi" = (/obj/machinery/camera{c_tag = "Bar South"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfj" = (/obj/item/device/radio/intercom{pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bfk" = (/obj/structure/device/piano,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
-"bfl" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
-"bfm" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/machinery/vending/dinnerware,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
-"bfn" = (/obj/machinery/icemachine,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bfo" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "kitchen"; name = "Kitchen Shutters"; opacity = 0},/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bfp" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "kitchen"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
-"bfq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"bfr" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
-"bfs" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
-"bft" = (/obj/machinery/camera{c_tag = "Hydroponics South"; dir = 8; network = list("SS13")},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
-"bfu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bfv" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library)
-"bfw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/library)
-"bfx" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library)
-"bfy" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/library)
-"bfz" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/library)
-"bfA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/library)
-"bfB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"bfC" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/chapel/main)
-"bfD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"bfE" = (/obj/machinery/power/apc{dir = 8; name = "Escape Hallway APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"bfF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry)
-"bfG" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"bfH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/south)
-"bfI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry)
-"bfJ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bfK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bfL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bfM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bfN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bfO" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bfP" = (/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bfQ" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bfR" = (/obj/item/flag/species/slime,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bfS" = (/obj/item/flag/species/greys,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bfT" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bfU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bfV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bfW" = (/obj/machinery/atm{pixel_x = -32},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bfX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/west)
-"bfY" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west)
-"bfZ" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bga" = (/obj/machinery/door_control{id = "heads_meeting"; name = "Security Shutters"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgc" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Conference Room"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgd" = (/obj/machinery/power/apc{dir = 1; name = "Conference Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bge" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bgh" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgi" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgj" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgk" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgl" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_y = 29},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgm" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgn" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bgo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bgp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bgq" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bgr" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bgs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bgt" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bgu" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Captain's Office APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bgv" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bgw" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne)
-"bgx" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne)
-"bgy" = (/obj/structure/sign/directions/evac{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area)
-"bgz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor,/area/crew_quarters/bar)
-"bgA" = (/obj/structure/sign/double/barsign,/turf/simulated/wall,/area)
-"bgB" = (/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west)
-"bgC" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 2"; dir = 2; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west)
-"bgD" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west)
-"bgE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"bgF" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{dir = 1; name = "Hydroponics Desk"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics)
-"bgG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics)
-"bgH" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/simulated/floor/plating,/area)
-"bgI" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic,/turf/simulated/floor/plating,/area)
-"bgJ" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area)
-"bgK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
-"bgL" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"bgM" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"bgN" = (/turf/space,/area/xenos_station/north)
-"bgO" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster{pixel_x = -28},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bgP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bgQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bgR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bgS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 8; name = "Slime Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bgT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bgU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bgV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bgW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bgX" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/science{name = "Slime Embassy"; req_access_txt = "125"},/turf/simulated/floor,/area/embassy/slime)
-"bgY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"bgZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"bha" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/silver{name = "Grey Embassy"; req_access_txt = "126"},/turf/simulated/floor,/area/embassy/grey)
-"bhb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bhc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bhd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bhe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bhf" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 4; name = "Grey Embassy APC"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bhg" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bhh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/west)
-"bhi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bhj" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bhk" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bhl" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bhm" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bhn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bho" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bhp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bhq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"bhr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bhs" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/effect/landmark{name = "lightsout"},/obj/machinery/camera/all{c_tag = "AI Chamber"; dir = 1; pixel_x = 12},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bht" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bhu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"bhv" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bhw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area)
-"bhx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area)
-"bhy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bhz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bhA" = (/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bhB" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bhC" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bhD" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bhE" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bhF" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east)
-"bhG" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Dorm"; location = "HOP2"},/turf/simulated/floor,/area/hallway/primary/central/east)
-"bhH" = (/turf/simulated/floor,/area/hallway/primary/central/east)
-"bhI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/east)
-"bhJ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhK" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhL" = (/obj/machinery/alarm{pixel_y = 26},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhM" = (/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhN" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhO" = (/turf/simulated/floor,/area/hallway/primary/starboard)
-"bhP" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhQ" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bhR" = (/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hallway/primary/starboard/west)
-"bhS" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hallway/primary/starboard/west)
-"bhT" = (/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hallway/primary/starboard/west)
-"bhU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bhV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bhW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard)
-"bhX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bhY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bhZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atm{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bia" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bib" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bic" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bid" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bie" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Starboard Hall East APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bif" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"big" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 5"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bih" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bii" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/exit)
-"bij" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/secondary/exit)
-"bik" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bil" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bim" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bin" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bio" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bip" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"biq" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "escape_dock_south_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access_txt = "13"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "escape_dock_south_sensor"; pixel_x = -8; pixel_y = -30},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bir" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
-"bis" = (/turf/space,/area/shuttle/specops/station)
-"bit" = (/obj/machinery/light,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor,/area/hallway/secondary/entry)
-"biu" = (/obj/machinery/camera{c_tag = "Arrivals South"; dir = 1; network = list("SS13"); pixel_x = 22},/turf/simulated/floor,/area/hallway/secondary/entry)
-"biv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/secondary/entry)
-"biw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"bix" = (/turf/simulated/floor,/area/crew_quarters/recruit)
-"biy" = (/obj/machinery/camera{c_tag = "Recruitment Lobby"; dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit)
-"biz" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"biA" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/wall/r_wall,/area)
-"biB" = (/obj/machinery/door/airlock/hatch{id_tag = "voxemb"; name = "Vox Embassy"; req_access_txt = "127"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/embassy/vox)
-"biC" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"biD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"biE" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"biF" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"biG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area)
-"biH" = (/obj/item/weapon/hand_labeler,/obj/item/device/assembly/timer,/obj/structure/table,/obj/item/device/eftpos{eftpos_name = "Bridge EFTPOS scanner"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"biI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"biJ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"biK" = (/obj/item/weapon/folder/red,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"biL" = (/obj/item/weapon/book/manual/security_space_law,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"biM" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"biN" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"biO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"biP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"biQ" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"biR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"biS" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"biT" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"biU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"biV" = (/obj/machinery/camera{c_tag = "Central Hallway East"; dir = 4; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east)
-"biW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"biX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"biY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"biZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bja" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bjc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bjd" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP2"; location = "Stbd"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bje" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bjf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/secondary/exit)
-"bjg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
-"bjh" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Docks"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bji" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bjj" = (/obj/machinery/camera{c_tag = "Slime Embassy"; dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime)
-"bjk" = (/obj/item/flag/species/vox,/turf/simulated/floor,/area/hallway/primary/port/east)
-"bjl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bjm" = (/obj/machinery/camera{c_tag = "Grey Embassy"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bjn" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey)
-"bjo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bjp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bjq" = (/obj/item/weapon/storage/fancy/donut_box,/obj/structure/table,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bjr" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bjs" = (/obj/item/weapon/folder/blue,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bjt" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bju" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bjv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bjw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"bjx" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "AI Door"; name = "AI Chamber Door Control"; pixel_x = 27; pixel_y = 27; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bjy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bjz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bjA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjC" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjD" = (/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bjE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bjF" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/camera{c_tag = "Captain's Office"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjG" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Central Hall East APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east)
-"bjH" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Stbd"; location = "HOP"},/turf/simulated/floor,/area/hallway/primary/central/east)
-"bjI" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjJ" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/starboard/west)
-"bjK" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard/west)
-"bjL" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/starboard/west)
-"bjM" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjN" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjO" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/hallway/primary/starboard/west)
-"bjP" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/hallway/primary/starboard/west)
-"bjQ" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/primary/starboard/west)
-"bjR" = (/obj/machinery/power/apc{dir = 2; name = "Starboard Hall West APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjT" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 3"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west)
-"bjW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bjX" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bjY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 4"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bjZ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bka" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east)
-"bkb" = (/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east)
-"bkc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/secondary/exit)
-"bkd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit)
-"bke" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit)
-"bkf" = (/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit)
-"bkg" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit)
-"bkh" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit)
-"bki" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit)
-"bkj" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/exit)
-"bkk" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 3; pixel_y = 25; req_access_txt = "13"},/turf/space,/area)
-"bkl" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "SpecOps Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "specops_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "specops_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "SpecOps Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bko" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkp" = (/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bks" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bkt" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bku" = (/obj/structure/table,/turf/simulated/floor,/area/crew_quarters/recruit)
-"bkv" = (/turf/simulated/floor{dir = 2; icon_state = "loadingarea"; tag = "loading"},/area/crew_quarters/recruit)
-"bkw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm/vox{dir = 8; pixel_x = 24},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bkx" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bky" = (/obj/machinery/power/apc{dir = 4; name = "Central Hall West APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west)
-"bkz" = (/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bkA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bkB" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bkC" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/apc{aidisabled = 0; dir = 1; name = "AI Chamber APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 24; pixel_y = 24},/obj/machinery/door/window/southright{name = "AI Core Door"; req_access = null; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bkI" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkJ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkK" = (/obj/structure/table/woodentable,/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkL" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkO" = (/obj/structure/table/woodentable,/obj/item/weapon/pinpointer,/obj/item/weapon/disk/nuclear,/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bkP" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"bkQ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bkR" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area)
-"bkS" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area)
-"bkT" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/reception)
-"bkU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/clothing/gloves/boxing,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"bkV" = (/obj/machinery/firealarm,/turf/simulated/wall,/area)
-"bkW" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bkX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/starboard/east)
-"bkY" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/starboard/east)
-"bkZ" = (/turf/simulated/floor{dir = 10; icon_state = "purple"},/area/hallway/primary/starboard/east)
-"bla" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard/east)
-"blb" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Break Room"; req_access_txt = "47"; req_one_access_txt = "0"},/turf/simulated/floor,/area/medical/medbreak)
-"blc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bld" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area)
-"ble" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "R&D Desk"; req_access_txt = "7"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/toxins/lab)
-"blf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area)
-"blg" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"blh" = (/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bli" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"blj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"blk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/recruit)
-"bll" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/recruit)
-"blm" = (/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit)
-"bln" = (/obj/structure/filingcabinet,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/qm)
-"blo" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
-"blp" = (/obj/machinery/computer/supplycomp,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "QM Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
-"blq" = (/obj/machinery/computer/security/mining,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
-"blr" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/power/apc{dir = 4; name = "Quartermaster APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/qm)
-"bls" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"blt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/hatch{id_tag = "voxemb"; name = "Vox Embassy"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"blu" = (/obj/machinery/alarm/vox{pixel_y = 32},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"blv" = (/obj/machinery/computer/ordercomp,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office)
-"blw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"blx" = (/obj/machinery/light{dir = 1},/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bly" = (/obj/machinery/lapvend,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"blz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/computer/merch,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
-"blA" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"blB" = (/obj/machinery/camera{c_tag = "Central Hallway West"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west)
-"blC" = (/obj/machinery/door/window/eastright{dir = 1; name = "Bridge Delivery"; req_access_txt = "19"},/turf/simulated/floor{icon_state = "delivery"},/area/bridge/meeting_room)
-"blD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/bridge/meeting_room)
-"blE" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"blF" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"blG" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"blH" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"blI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"blJ" = (/obj/machinery/turret{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"blK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"blL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"blM" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"blN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"blO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
-"blP" = (/obj/machinery/turret{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"blQ" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Captain's Desk"; departmentType = 5; name = "Captain RC"; pixel_x = -30; pixel_y = 0},/obj/structure/filingcabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"blR" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"blS" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"blT" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"blU" = (/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/media/receiver/boombox,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"blV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"blW" = (/turf/simulated/floor,/area/hallway/primary/central/sw)
-"blX" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"blY" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"blZ" = (/obj/machinery/chem_dispenser,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bma" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/camera{c_tag = "Chemistry"; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bmb" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/plasma,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bmc" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bmd" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area)
-"bme" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception)
-"bmf" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/table,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bmg" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bmh" = (/obj/machinery/light{dir = 1},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bmi" = (/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
-"bmj" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bmk" = (/obj/structure/stool,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bml" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/alarm{pixel_y = 26},/obj/structure/flora/kirbyplants,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/reception)
-"bmm" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint/medical)
-"bmn" = (/obj/machinery/disposal,/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical)
-"bmo" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical)
-"bmp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint/medical)
-"bmq" = (/obj/structure/table,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = -2},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue)
-"bmr" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
-"bms" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
-"bmt" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
-"bmu" = (/obj/machinery/camera{c_tag = "Morgue"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Morgue APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
-"bmv" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue)
-"bmw" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor,/area/medical/morgue)
-"bmx" = (/turf/simulated/wall/r_wall,/area/medical/morgue)
-"bmy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bmz" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Mech Bay"; req_access_txt = "29"; req_one_access_txt = "0"},/turf/simulated/floor,/area/assembly/chargebay)
-"bmA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/chargebay)
-"bmB" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bmC" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bmD" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bmE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area)
-"bmF" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Desk"; req_access_txt = "29"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/assembly/robotics)
-"bmG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area)
-"bmH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/medical/medbreak)
-"bmI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/medical/medbreak)
-"bmJ" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/medbreak)
-"bmK" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/medical/medbreak)
-"bmL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bmM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bmN" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 9; icon_state = "whitepurple"},/area/toxins/lab)
-"bmO" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
-"bmP" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/lab)
-"bmQ" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab)
-"bmR" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/lab)
-"bmS" = (/obj/machinery/r_n_d/circuit_imprinter{pixel_x = 3; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/lab)
-"bmT" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/lab)
-"bmU" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area)
-"bmV" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bmW" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bmX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bmY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bmZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bna" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
-"bnb" = (/turf/simulated/floor,/area/quartermaster/qm)
-"bnc" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/quartermaster/qm)
-"bnd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm)
-"bne" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; name = "O2 Scrubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bnf" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bng" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bnh" = (/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bni" = (/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bnj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/office)
-"bnk" = (/turf/simulated/floor,/area/quartermaster/office)
-"bnl" = (/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bnm" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/west)
-"bnn" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bno" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west)
-"bnp" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; dir = 1; freq = 1400; location = "Bridge"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"},/area/bridge/meeting_room)
-"bnq" = (/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bnr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/lattice,/turf/space,/area)
-"bns" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bnt" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bnu" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bnv" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bnw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"bnx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area)
-"bny" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; listening = 1; name = "Captain's Intercom"; pixel_x = -27; pixel_y = -3},/obj/structure/closet/secure_closet/captains,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bnz" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bnA" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Captain's Office"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bnB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bnC" = (/obj/item/flag/nt,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bnD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"bnE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bnF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bnG" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bnH" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bnI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bnJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bnK" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bnL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"bnM" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception)
-"bnN" = (/turf/simulated/floor/airless{icon_state = "white"},/area/medical/reception)
-"bnO" = (/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception)
-"bnP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/turf/simulated/floor/plating,/area/security/checkpoint2)
-"bnQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical)
-"bnR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical)
-"bnS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical)
-"bnT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medical Security Office APC"; pixel_x = 25},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical)
-"bnU" = (/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue)
-"bnV" = (/turf/simulated/floor,/area/medical/morgue)
-"bnW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/morgue)
-"bnX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/morgue)
-"bnY" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/morgue)
-"bnZ" = (/obj/structure/morgue,/turf/simulated/floor,/area/medical/morgue)
-"boa" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/assembly/chargebay)
-"bob" = (/turf/simulated/floor,/area/assembly/chargebay)
-"boc" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay)
-"bod" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
-"boe" = (/obj/structure/sign/securearea{pixel_x = 32},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
-"bof" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bog" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"boh" = (/obj/machinery/power/apc{dir = 1; name = "Robotics Lab APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Robotics Lab"; dir = 2},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics)
-"boi" = (/obj/machinery/computer/guestpass,/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
-"boj" = (/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
-"bok" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
-"bol" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bom" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area)
-"bon" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/computer/arcade/orion_trail,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/medbreak)
-"boo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbreak)
-"bop" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbreak)
-"boq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bor" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/cola,/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak)
-"bos" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area)
-"bot" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bou" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bov" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"bow" = (/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"box" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/lab)
-"boy" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab)
-"boz" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"boA" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"boB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab)
-"boC" = (/obj/machinery/camera/xray{c_tag = "External Dock"; dir = 8; network = list("SS13")},/turf/space,/area)
-"boD" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit)
-"boE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/recruit)
-"boF" = (/obj/machinery/camera{c_tag = "Port East Recruitment Hallway"; dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east)
-"boG" = (/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
-"boH" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/quartermaster/qm)
-"boI" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/qm,/turf/simulated/floor,/area/quartermaster/qm)
-"boJ" = (/obj/structure/table,/obj/item/weapon/stamp/qm,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/qm)
-"boK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm)
-"boL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"boM" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"boN" = (/obj/machinery/light{dir = 8},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"boO" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/quartermaster/office)
-"boP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/office)
-"boQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office)
-"boR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"boS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/west)
-"boT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"boU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/west)
-"boV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west)
-"boW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"boX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"boY" = (/obj/machinery/power/apc{dir = 1; name = "Bridge Maintenance APC"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"boZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bpa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/account_database{anchored = 1},/turf/simulated/floor,/area/bridge/meeting_room)
-"bpb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room)
-"bpc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/lattice,/turf/space,/area)
-"bpd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{desc = "For use by authorized Nanotrasen AI Maintenance Technitians or in case of Emergancy Only."; id = "AI Door"; name = "AI Chamber Maintenance Door"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/ai)
-"bpe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/lattice,/turf/space,/area)
-"bpf" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/clothing/head/helmet/space/unathi/breacher,/obj/item/clothing/suit/space/unathi/breacher,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/tank/emergency_oxygen/double,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bph" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpi" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Captain's Desk Door"; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpj" = (/obj/machinery/light,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bpm" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"bpn" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bpo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bpp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bpq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bpr" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bps" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/reception)
-"bpt" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/reception)
-"bpu" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_security{name = "Medbay Sec Lobby"; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint/medical)
-"bpv" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical)
-"bpw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical)
-"bpx" = (/turf/simulated/floor,/area/security/checkpoint/medical)
-"bpy" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/photocopier,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical)
-"bpz" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue)
-"bpA" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/medical/morgue)
-"bpB" = (/obj/machinery/optable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/morgue)
-"bpC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 12},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bpD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area)
-"bpE" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"bpF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"bpG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bpH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bpI" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access_txt = "29"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area)
-"bpP" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"})
-"bpQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bpR" = (/obj/machinery/camera{c_tag = "Research Division Access"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/research{name = "Research Division"})
-"bpS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area)
-"bpT" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak)
-"bpU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bpV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bpW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bpX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bpY" = (/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak)
-"bpZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bqa" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bqb" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"bqc" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"bqd" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab)
-"bqe" = (/turf/space,/area/shuttle/transport1/station)
-"bqf" = (/obj/machinery/camera{c_tag = "Cargo Dock"; dir = 8},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bqg" = (/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/recruit)
-"bqh" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/crew_quarters/recruit)
-"bqi" = (/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
-"bqj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/qm)
-"bqk" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/qm)
-"bql" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/qm)
-"bqm" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm)
-"bqn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bqo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bqp" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bqq" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bqr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"bqs" = (/obj/machinery/camera{c_tag = "Cargo Office Lobby"; dir = 4; network = list("SS13")},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bqt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bqu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bqv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office)
-"bqw" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bqx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west)
-"bqy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
-"bqz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west)
-"bqA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west)
-"bqB" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bqC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bqD" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bqE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bqF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/bridge/meeting_room)
-"bqG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room)
-"bqH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area)
-"bqI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"bqJ" = (/obj/structure/table,/obj/item/weapon/aiModule/core/full/asimov,/obj/item/weapon/aiModule/core/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/core/full/corp,/obj/item/weapon/aiModule/core/full/paladin,/obj/item/weapon/aiModule/core/full/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqK" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqL" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqN" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/computer/aiupload,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqO" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/oxygen,/obj/item/weapon/aiModule/zeroth/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/reset/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/core/full/antimov,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bqP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/lattice,/turf/space,/area)
-"bqQ" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = null; req_access_txt = "20"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bqR" = (/obj/machinery/door/airlock/maintenance{name = "Captain's Office Maintenance"; req_access_txt = "20"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain)
-"bqS" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bqT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bqU" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bqV" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bqW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bqX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bqY" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bqZ" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception)
-"bra" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
-"brb" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 5; pixel_y = 5},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception)
-"brc" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/window/basic{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception)
-"brd" = (/obj/structure/table,/obj/structure/window/basic{dir = 1},/obj/machinery/light/small/lamp,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception)
-"bre" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/window/basic{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception)
-"brf" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access_txt = "5"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception)
-"brg" = (/obj/structure/table,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/reception)
-"brh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception)
-"bri" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical)
-"brj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/checkpoint/medical)
-"brk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv,/obj/item/clothing/tie/armband/medgreen,/obj/item/clothing/tie/armband/medgreen,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical)
-"brl" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue)
-"brm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/medical/morgue)
-"brn" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/assembly/chargebay)
-"bro" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay)
-"brp" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay)
-"brr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/assembly/chargebay)
-"brs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area)
-"brt" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics)
-"bru" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics)
-"brv" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics)
-"brw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"brx" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bry" = (/obj/structure/closet/firecloset,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/research{name = "Research Division"})
-"brz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"brA" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/research{name = "Research Division"})
-"brB" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak)
-"brC" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"brD" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"brE" = (/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"brF" = (/obj/item/weapon/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"brG" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"brH" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"brI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"brJ" = (/obj/structure/table,/obj/machinery/camera{c_tag = "R&D Lab North"; dir = 1},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab)
-"brK" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab)
-"brL" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab)
-"brM" = (/obj/structure/table,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab)
-"brN" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"brO" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"brP" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"brQ" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 3; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/turf/simulated/floor,/area/crew_quarters/recruit)
-"brR" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit)
-"brS" = (/obj/structure/table,/obj/item/weapon/rcs,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/qm)
-"brT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
-"brU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
-"brV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
-"brW" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/qm)
-"brX" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"brY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office)
-"brZ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bsa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bsb" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office)
-"bsc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office)
-"bsd" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
-"bse" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bsf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bsg" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bsh" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = null; req_access_txt = "57"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
-"bsi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/lattice,/turf/space,/area)
-"bsj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"bsk" = (/obj/machinery/turret{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bsl" = (/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/turret_protected/ai_upload)
-"bsm" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bsn" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/displaycase/captains_laser,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bso" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bsp" = (/obj/machinery/door/airlock{name = "Private Restroom"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
-"bsq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
-"bsr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/captain)
-"bss" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bst" = (/obj/machinery/power/apc{dir = 4; name = "Central Hall SE APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bsu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bsv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bsw" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/device/mass_spectrometer,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bsx" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall/r_wall,/area)
-"bsy" = (/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception)
-"bsz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception)
-"bsA" = (/obj/structure/table,/obj/structure/window/basic{dir = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception)
-"bsB" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception)
-"bsC" = (/obj/machinery/computer/crew,/turf/simulated/floor,/area/medical/reception)
-"bsD" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/medical/reception)
-"bsE" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 26; range = 6},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception)
-"bsF" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception)
-"bsG" = (/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception)
-"bsH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception)
-"bsI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint/medical)
-"bsJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint/medical)
-"bsK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint/medical)
-"bsL" = (/obj/structure/table,/obj/item/weapon/storage/box/masks{pixel_x = 6; pixel_y = 2},/obj/item/weapon/storage/box/gloves,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint/medical)
-"bsM" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue)
-"bsN" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
-"bsO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
-"bsP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
-"bsQ" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
-"bsR" = (/obj/machinery/firealarm{pixel_y = -30},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
-"bsS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bsT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area)
-"bsU" = (/obj/machinery/camera{c_tag = "Mech Bay"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bsV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bsW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bsX" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bsY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area)
-"bsZ" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/robotics)
-"bta" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/robotics)
-"btb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics)
-"btc" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"btd" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bte" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"btf" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"})
-"btg" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"})
-"bth" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak)
-"bti" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"btj" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"btk" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "R&D Break Room"; dir = 8; network = list("SS13")},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak)
-"btl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"btm" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"btn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"bto" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/toxins/lab)
-"btp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"btq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"btr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bts" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"btt" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"btu" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/crew_quarters/recruit)
-"btv" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/crew_quarters/recruit)
-"btw" = (/obj/structure/table,/obj/item/weapon/storage/box/ids,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"btx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bty" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "QM Office"; req_access_txt = "41"},/turf/simulated/floor,/area/quartermaster/qm)
-"btz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"btA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"btB" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/filingcabinet,/obj/machinery/camera{c_tag = "Vox Embassy"; dir = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"btC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/table/woodentable,/obj/machinery/power/apc{name = "Vox Embassy APC"; pixel_y = -28},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"btD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"btE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/obj/structure/stool/bed/alien,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox)
-"btF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office)
-"btG" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"btH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/quartermaster/office)
-"btI" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/window/southright{name = "Cargo Desk"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/office)
-"btJ" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
-"btK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"btL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/central/sw)
-"btM" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads)
-"btN" = (/obj/structure/table,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/guestpass,/turf/simulated/floor,/area/crew_quarters/heads)
-"btO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/recharger/wallcharger{pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/crew_quarters/heads)
-"btP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc{dir = 1; name = "Head of Personnel APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/photocopier,/turf/simulated/floor,/area/crew_quarters/heads)
-"btQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads)
-"btR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area)
-"btS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"btT" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/aiModule/core/full/nanotrasen,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"btU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"btV" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"btW" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"btX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"btY" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/freeform,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"btZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"bua" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area)
-"bub" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"buc" = (/obj/structure/table/woodentable,/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bud" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
-"bue" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain)
-"buf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bug" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"buh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bui" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "33"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"buj" = (/obj/structure/sign/chemistry,/turf/simulated/wall,/area)
-"buk" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception)
-"bul" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception)
-"bum" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "5"},/turf/simulated/floor,/area/medical/reception)
-"bun" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception)
-"buo" = (/turf/simulated/floor,/area/medical/reception)
-"bup" = (/obj/machinery/power/apc{dir = 2; name = "Medbay Reception APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 11; pixel_y = -22},/turf/simulated/floor,/area/medical/reception)
-"buq" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access_txt = "5"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/reception)
-"bur" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception)
-"bus" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception)
-"but" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/firealarm,/turf/simulated/wall,/area)
-"buu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"buv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "0"; req_one_access_txt = "6,9"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"buw" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall,/area)
-"bux" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"buy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay)
-"buz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area)
-"buA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/assembly/robotics)
-"buB" = (/turf/simulated/floor,/area/assembly/robotics)
-"buC" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"buD" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"buE" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"buF" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area)
-"buG" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area)
-"buH" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak)
-"buI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"buJ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"buK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"buL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"buM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Break Room APC"; pixel_x = 26; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak)
-"buN" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"buO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"buP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"buQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"buR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
-"buS" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
-"buT" = (/obj/machinery/camera{c_tag = "R&D Lab South"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
-"buU" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
-"buV" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"buW" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "centcom_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "centcom_shuttle_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"buX" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"buY" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"buZ" = (/obj/machinery/computer/secure_data,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bva" = (/obj/effect/landmark/start{name = "Nanotrasen Recruiter"},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bvb" = (/obj/machinery/pdapainter,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bvc" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area)
-"bvd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bve" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvg" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvh" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
-"bvi" = (/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall/r_wall,/area)
-"bvj" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office)
-"bvk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvl" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvm" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bvn" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
-"bvo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
-"bvp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bvq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central/sw)
-"bvr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw)
-"bvs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central/sw)
-"bvt" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/crew_quarters/heads)
-"bvu" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads)
-"bvv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads)
-"bvw" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"bvx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"bvy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads)
-"bvz" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area)
-"bvA" = (/obj/structure/table,/obj/item/weapon/aiModule/reset,/obj/machinery/camera{c_tag = "AI Upload Chamber"; dir = 4; network = list("SS13")},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bvB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"bvC" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/protectStation,/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bvD" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/obj/item/clothing/tie/medal/bronze_heart,/obj/item/clothing/tie/medal/conduct,/obj/item/clothing/tie/medal/gold,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/clothing/tie/medal/nobel_science,/obj/item/clothing/tie/medal/silver/security,/obj/item/clothing/tie/medal/silver/valor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bvE" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bvF" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bvG" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"; req_access_txt = "0"},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
-"bvH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain)
-"bvI" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bvJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bvK" = (/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire,/obj/structure/table,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/chemistry)
-"bvL" = (/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2,/obj/structure/table,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry)
-"bvM" = (/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Medbay Drug Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry)
-"bvN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry)
-"bvO" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
-"bvP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"bvQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east)
-"bvR" = (/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"bvS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"bvT" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/bridge)
-"bvU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "0"; req_one_access_txt = "6,9"},/turf/simulated/floor,/area/medical/morgue)
-"bvV" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/space,/area)
-"bvW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/medbay2)
-"bvX" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bvY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bvZ" = (/obj/machinery/power/apc{dir = 1; name = "Medbay APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bwa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Medbay Fore Starboard"; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bwb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bwc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bwd" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bwe" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2)
-"bwf" = (/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bwg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bwh" = (/obj/machinery/light/small{dir = 1},/obj/item/weapon/extinguisher,/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 14},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bwi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bwj" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"bwk" = (/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"bwl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
-"bwm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
-"bwn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/assembly/chargebay)
-"bwo" = (/obj/structure/table,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/turf/simulated/floor,/area/assembly/robotics)
-"bwp" = (/mob/living/simple_animal/corgi/Ian/borgi,/turf/simulated/floor,/area/assembly/robotics)
-"bwq" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"bwr" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bws" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"})
-"bwt" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"})
-"bwu" = (/turf/simulated/floor{dir = 4; icon_state = "escapecorner"},/area/medical/medbreak)
-"bwv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak)
-"bww" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak)
-"bwx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak)
-"bwy" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/medical/medbreak)
-"bwz" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bwA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/lab)
-"bwB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab)
-"bwC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab)
-"bwD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/toxins/lab)
-"bwE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"bwF" = (/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/toxins/lab)
-"bwG" = (/obj/structure/window/reinforced,/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab)
-"bwH" = (/obj/machinery/photocopier,/obj/machinery/camera{c_tag = "Recruitment Office"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bwI" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/recruit)
-"bwJ" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bwK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bwL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/office)
-"bwM" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bwN" = (/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall,/area)
-"bwO" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office)
-"bwP" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bwQ" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bwR" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
-"bwS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office)
-"bwT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bwU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bwV" = (/turf/simulated/floor{dir = 2; icon_state = "browncorner"},/area/quartermaster/office)
-"bwW" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office)
-"bwX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/central/sw)
-"bwY" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area)
-"bwZ" = (/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/sw)
-"bxa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bxb" = (/obj/machinery/computer/card,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads)
-"bxc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/heads)
-"bxd" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"bxe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"bxf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
-"bxg" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "Upload APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bxh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bxi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"bxj" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_y = -25},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bxk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area)
-"bxl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/lattice,/turf/space,/area)
-"bxm" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access_txt = "17"},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/teleporter)
-"bxn" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bxo" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/chemistry)
-"bxp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bxq" = (/obj/effect/landmark/start{name = "Chemist"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bxr" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
-"bxs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2)
-"bxt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2)
-"bxu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area)
-"bxv" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3)
-"bxw" = (/obj/structure/closet/secure_closet/medical3,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3)
-"bxx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3)
-"bxy" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3)
-"bxz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; range = 6},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2)
-"bxA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bxB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bxC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bxD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bxE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 23},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bxL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bxM" = (/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/table/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"bxN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bxO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bxP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bxQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bxR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/airlock/maintenance{req_access_txt = "29"},/turf/simulated/floor,/area/assembly/chargebay)
-"bxS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/assembly/chargebay)
-"bxT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/chargebay)
-"bxU" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay)
-"bxV" = (/obj/machinery/power/apc{dir = 4; name = "Mech Bay APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/assembly/chargebay)
-"bxW" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/assembly/robotics)
-"bxX" = (/obj/structure/table,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/item/device/mmi/posibrain,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics)
-"bxY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"bxZ" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bya" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"})
-"byb" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/research{name = "Research Division"})
-"byc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"})
-"byd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_research{name = "Break Room"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak)
-"bye" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"byf" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"byg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"byh" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"byi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"byj" = (/obj/machinery/magnetic_controller{autolink = 1; name = "Firing Range Control Console"; path = "w;e;e;w;s;n;n;s"; pixel_x = 0; pixel_y = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/lab)
-"byk" = (/obj/item/target/alien,/obj/item/target,/obj/item/target/syndicate,/obj/item/target/syndicate,/obj/item/target/alien,/obj/item/target/syndicate,/obj/structure/closet/crate,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
-"byl" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/toxins/lab)
-"bym" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab)
-"byn" = (/obj/machinery/camera{c_tag = "R&D Firing Range"; dir = 2},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/lab)
-"byo" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/research/station)
-"byp" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/research/station)
-"byq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/research/station)
-"byr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/research/station)
-"bys" = (/turf/space,/area/xenos_station/south)
-"byt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area)
-"byu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area)
-"byv" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/crew_quarters/recruit)
-"byw" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"byx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"byy" = (/obj/machinery/door/airlock/command{name = "NT Recruitment Office"; req_access = null; req_access_txt = "57"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"byz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east)
-"byA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east)
-"byB" = (/obj/structure/closet/secure_closet/cargotech,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"byC" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/power/apc{dir = 8; name = "Cargo Office APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"byD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"byE" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"byF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office)
-"byG" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"byH" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/office)
-"byI" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor,/area/quartermaster/office)
-"byJ" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/hallway/primary/central/west)
-"byK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"byL" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area)
-"byM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"byN" = (/obj/structure/closet/secure_closet/hop,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads)
-"byO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads)
-"byP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/pdapainter,/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"byQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"byR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads)
-"byS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall/r_wall,/area)
-"byT" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"byU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"byV" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/teleporter)
-"byW" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/item/weapon/hand_tele,/turf/simulated/floor,/area/teleporter)
-"byX" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/closet/crate,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/teleporter)
-"byY" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/teleporter)
-"byZ" = (/obj/machinery/camera{c_tag = "Teleporter"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/teleporter)
-"bza" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/teleporter)
-"bzb" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/teleporter)
-"bzc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw)
-"bzd" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
-"bze" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry)
-"bzf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/wardrobe/chemistry_white,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry)
-"bzg" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry)
-"bzh" = (/obj/machinery/power/apc{dir = 4; name = "Chemistry/Med APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
-"bzi" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bzj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bzk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3)
-"bzl" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3)
-"bzm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3)
-"bzn" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3)
-"bzo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3)
-"bzp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3)
-"bzq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bzr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bzs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bzt" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"bzB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bzC" = (/obj/machinery/vending/medical,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bzD" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bzE" = (/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bzF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bzG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bzH" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/chargebay)
-"bzI" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/assembly/chargebay)
-"bzJ" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/chargebay)
-"bzK" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay)
-"bzL" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics)
-"bzM" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bzN" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bzO" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
-"bzP" = (/obj/structure/closet/wardrobe/robotics_black,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bzQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"bzR" = (/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bzS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bzT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bzU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bzV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bzW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bzX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bzY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
-"bzZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bAa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"})
-"bAb" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bAc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bAd" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Research Shuttle Maintainance"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bAe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "47"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock)
-"bAf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock)
-"bAg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock)
-"bAh" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/window/eastright{base_state = "left"; dir = 4; icon_state = "left"; name = "R&D Desk"; req_access_txt = "7"},/turf/simulated/floor/plating,/area/toxins/lab)
-"bAi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
-"bAj" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/lab)
-"bAk" = (/turf/simulated/floor,/area/toxins/lab)
-"bAl" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab)
-"bAm" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab)
-"bAn" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/research/station)
-"bAo" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bAp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bAq" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bAr" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bAs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bAt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bAu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "Cargo Dock APC"; pixel_x = 1; pixel_y = -24},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"})
-"bAv" = (/obj/structure/closet,/turf/simulated/floor,/area/crew_quarters/recruit)
-"bAw" = (/obj/machinery/power/apc{dir = 2; name = "Recruitment Office APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bAx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bAy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/recruit)
-"bAz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bAA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/hallway/primary/port/east)
-"bAB" = (/obj/structure/closet/secure_closet/cargotech,/obj/machinery/camera{c_tag = "Cargo Office West"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office)
-"bAC" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bAD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bAE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bAF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office)
-"bAG" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bAH" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bAI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bAJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bAK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bAL" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bAM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
-"bAN" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "packageExternal"},/turf/simulated/floor{tag = "icon-browncorner (EAST)"; icon_state = "browncorner"; dir = 4},/area/quartermaster/office)
-"bAO" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
-"bAP" = (/obj/machinery/camera{c_tag = "Cargo Bay Entrance"; dir = 4; network = list("SS13")},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
-"bAQ" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads)
-"bAR" = (/turf/simulated/floor,/area/crew_quarters/heads)
-"bAS" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/crew_quarters/heads)
-"bAT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/crew_quarters/heads)
-"bAU" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
-"bAV" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid,/area/server)
-"bAW" = (/obj/machinery/power/apc{dir = 1; name = "Messaging Server APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/bluegrid,/area/server)
-"bAX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bAY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"bAZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"bBa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"bBb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"})
-"bBc" = (/obj/machinery/power/apc{dir = 1; name = "Cyborg Station APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/table,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"})
-"bBd" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"})
-"bBe" = (/obj/machinery/power/apc{dir = 8; name = "Teleporter APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/teleporter)
-"bBf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool,/turf/simulated/floor,/area/teleporter)
-"bBg" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter)
-"bBh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/beacon,/turf/simulated/floor,/area/teleporter)
-"bBi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter)
-"bBj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/teleporter)
-"bBk" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access_txt = "17"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter)
-"bBl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw)
-"bBm" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR: EMERGENCY ENTRANCE'."; name = "KEEP CLEAR: EMERGENCY ENTRANCE"; pixel_x = 32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bBn" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/backpack/medic,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/weapon/storage/toolbox/emergency,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"bBo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medical Supplies"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"bBp" = (/obj/machinery/smartfridge/medbay,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bBq" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bBr" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bBs" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3)
-"bBt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3)
-"bBu" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/power/apc{dir = 4; name = "Medbay Equipment APC"; pixel_x = 25},/obj/structure/cable,/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3)
-"bBv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bBw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bBx" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bBy" = (/obj/machinery/door/airlock/medical{name = "Genetics"; req_access_txt = "9"; req_one_access_txt = null},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bBz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bBA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access_txt = "29; 47"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bBB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"bBC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"bBD" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bBE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bBG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBI" = (/obj/machinery/camera{c_tag = "Research Division North"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bBL" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access_txt = "47"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
-"bBM" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Research Division"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"})
-"bBN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bBO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
-"bBP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bBQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock)
-"bBR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock)
-"bBS" = (/obj/structure/filingcabinet,/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/lab)
-"bBT" = (/obj/machinery/power/apc{dir = 2; name = "Research and Development APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab)
-"bBU" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/lab)
-"bBV" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/toxins/lab)
-"bBW" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/lab)
-"bBX" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station)
-"bBY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station)
-"bBZ" = (/obj/machinery/computer/shuttle_control/research{req_access = list(65)},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bCa" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Cargo Docks"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/storage)
-"bCb" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 1},/turf/simulated/wall,/area)
-"bCc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall,/area)
-"bCd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"bCe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bCf" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/storage)
-"bCg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"bCh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"bCi" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area)
-"bCj" = (/obj/structure/table,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bCk" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office)
-"bCl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bCm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bCn" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bCo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"bCp" = (/obj/structure/grille,/obj/structure/window/basic,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating,/area)
-"bCq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/sw)
-"bCr" = (/obj/machinery/computer/security/mining,/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads)
-"bCs" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/turf/simulated/floor,/area/crew_quarters/heads)
-"bCt" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/turf/simulated/floor,/area/crew_quarters/heads)
-"bCu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads)
-"bCv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
-"bCw" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bCx" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bCy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bCz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bCA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/turretid{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 8; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -8; pixel_y = 22},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bCB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bCC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bCD" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"})
-"bCE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"})
-"bCF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"})
-"bCG" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/comms{name = "\improper Cyborg Station"})
-"bCH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/teleporter)
-"bCI" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "warning"},/area/teleporter)
-"bCJ" = (/turf/simulated/floor{icon_state = "warning"},/area/teleporter)
-"bCK" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/teleporter)
-"bCL" = (/obj/machinery/shieldwallgen,/obj/structure/window/basic{dir = 8},/turf/simulated/floor{icon_state = "bot"},/area/teleporter)
-"bCM" = (/obj/machinery/shieldwallgen,/turf/simulated/floor{icon_state = "bot"},/area/teleporter)
-"bCN" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/teleporter)
-"bCO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw)
-"bCP" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bCQ" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw)
-"bCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Medbay Sec Lobby"; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint/medical)
-"bCS" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2)
-"bCT" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bCU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bCV" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bCW" = (/obj/machinery/camera{c_tag = "Medbay Emergency Entrance"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bCX" = (/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bCY" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -27},/obj/machinery/light,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3)
-"bCZ" = (/obj/structure/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3)
-"bDa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3)
-"bDb" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_y = 8},/obj/item/weapon/storage/box/masks{pixel_y = -3},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3)
-"bDc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bDd" = (/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics_cloning)
-"bDe" = (/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDf" = (/obj/structure/table,/obj/item/weapon/book/manual/medical_cloning{pixel_y = 6},/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDg" = (/obj/structure/closet/wardrobe/medic_white,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDh" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDi" = (/obj/machinery/camera{c_tag = "Medbay Cloning"; network = list("SS13")},/obj/machinery/light_switch{pixel_y = 24},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning)
-"bDk" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/medical/genetics_cloning)
-"bDl" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical1,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics)
-"bDm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Genetics Fore"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Genetics APC"; pixel_y = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
-"bDn" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bDo" = (/obj/structure/table,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/weapon/hand_labeler,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
-"bDp" = (/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
-"bDq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/medical/genetics)
-"bDr" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2)
-"bDs" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/research{name = "Research Division"})
-"bDt" = (/obj/machinery/camera{c_tag = "Research Division West"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bDu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bDv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bDw" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bDx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/research{name = "Research Division"})
-"bDy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/research{name = "Research Division"})
-"bDz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/research{name = "Research Division"})
-"bDA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bDB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/effect/landmark/nations{name = "Scientopia"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bDC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bDD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bDE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"bDF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bDG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bDH" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_access_txt = "13;65"; tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bDI" = (/turf/space,/area/supply/station)
-"bDJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"bDK" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage)
-"bDL" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bDM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bDN" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bDO" = (/turf/simulated/floor,/area/quartermaster/storage)
-"bDP" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Cargo Bay North"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/quartermaster/storage)
-"bDQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/storage)
-"bDR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bDS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bDT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bDU" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light{dir = 8},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bDV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office)
-"bDW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bDX" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor,/area/quartermaster/office)
-"bDY" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office)
-"bDZ" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office)
-"bEa" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/west)
-"bEb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/sw)
-"bEc" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw)
-"bEd" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads)
-"bEe" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/obj/machinery/camera{c_tag = "Head of Personnel's Office"; dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/crew_quarters/heads)
-"bEf" = (/obj/structure/table,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/heads)
-"bEg" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads)
-"bEh" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/server)
-"bEi" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/bluegrid,/area/server)
-"bEj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/camera{c_tag = "Messaging Server"; dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bEk" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/camera{c_tag = "AI Core Lobby"; dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bEl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bEm" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"bEn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/camera{c_tag = "Cyborg Station"; dir = 1},/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"})
-"bEo" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"})
-"bEp" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"})
-"bEq" = (/obj/machinery/computer/teleporter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/teleporter)
-"bEr" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/teleporter)
-"bEs" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/teleporter)
-"bEt" = (/obj/structure/rack,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/teleporter)
-"bEu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bEv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 18},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bEw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bEx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw)
-"bEy" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2)
-"bEz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2)
-"bEA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bEB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 11},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bEC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bED" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2)
-"bEE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bEF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bEG" = (/obj/structure/noticeboard,/turf/simulated/wall,/area)
-"bEH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3)
-"bEI" = (/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics_cloning)
-"bEJ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bEK" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bEL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bEM" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning)
-"bEN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bEO" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bEP" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bEQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bER" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/genetics)
-"bES" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
-"bET" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3)
-"bEU" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"})
-"bEV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/research{name = "Research Division"})
-"bEW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bEX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bEY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bEZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bFa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bFc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bFd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bFe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bFf" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bFg" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("RD"); pixel_x = 0; pixel_y = 2},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bFh" = (/obj/machinery/computer/aifixer,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bFi" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor)
-"bFj" = (/obj/structure/lamarr,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
-"bFk" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor)
-"bFl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bFm" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bFn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bFo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bFp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bFq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bFr" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock)
-"bFs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area)
-"bFt" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/research/station)
-"bFu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_shuttle_hatch"; locked = 1; name = "External Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bFv" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/research/station)
-"bFw" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage)
-"bFx" = (/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bFy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bFz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bFA" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/obj/machinery/camera{c_tag = "Cargo Office"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office)
-"bFB" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFC" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFD" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/multitool,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFE" = (/obj/machinery/autolathe,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office)
-"bFF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/office)
-"bFG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office)
-"bFH" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFJ" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office)
-"bFK" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office)
-"bFL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
-"bFM" = (/obj/machinery/status_display,/turf/simulated/wall,/area)
-"bFN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area)
-"bFO" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/turret_protected/ai_upload_foyer)
-"bFP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bFQ" = (/obj/machinery/camera{c_tag = "Central Hallway South-East"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bFR" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/power/apc{dir = 8; name = "Emergency Unit APC"; pixel_x = -25},/obj/structure/cable,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bFS" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bFT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bFU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bFV" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bFW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bFX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bFY" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bFZ" = (/obj/machinery/light{dir = 1},/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = 30; pixel_z = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bGa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bGb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bGc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bGd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics_cloning)
-"bGe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bGf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bGg" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bGh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning)
-"bGi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bGj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bGk" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bGl" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bGm" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
-"bGn" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = null; req_access_txt = "30"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bGo" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/toxins/storage)
-"bGp" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bGq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bGr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bGs" = (/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bGt" = (/obj/structure/table,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -5; pixel_y = 5; req_access_txt = "47"},/obj/item/weapon/paper/monitorkey,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bGu" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bGv" = (/obj/machinery/computer/robotics,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bGw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor)
-"bGx" = (/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor)
-"bGy" = (/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor)
-"bGz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bGA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bGB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bGC" = (/obj/machinery/power/apc{dir = 2; name = "Research Dock APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bGD" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock)
-"bGE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area)
-"bGF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area)
-"bGG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area)
-"bGH" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_outer"; locked = 1; name = "Shuttle Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/medical/research_shuttle_dock)
-"bGI" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 8; req_access_txt = "13;65"},/turf/space,/area)
-"bGJ" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"bGK" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage)
-"bGL" = (/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bGM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bGN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bGO" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bGP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bGQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bGR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bGS" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/sorting)
-"bGT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGV" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall SW APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGX" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGY" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bGZ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHa" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south)
-"bHb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south)
-"bHc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south)
-"bHd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall South APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHg" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHh" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central/south)
-"bHi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central/south)
-"bHj" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central/south)
-"bHk" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHl" = (/obj/machinery/camera{c_tag = "Central Primary Hallway South"; dir = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHn" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHo" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHp" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bHq" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHr" = (/obj/machinery/atm{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHs" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHv" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bHw" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bHx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bHy" = (/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bHz" = (/obj/machinery/door_control{id = "acute1"; name = "Acute One Shutters"; pixel_y = 25},/obj/machinery/camera{c_tag = "Medbay Acute 1"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bHA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Acute Treatment 1"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bHB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bHC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 9},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bHD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 10},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bHJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2)
-"bHK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bHL" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bHM" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics_cloning)
-"bHN" = (/obj/machinery/computer/cloning,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bHO" = (/obj/machinery/dna_scannernew,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bHP" = (/obj/item/roller,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bHQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/medical/genetics_cloning)
-"bHR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bHS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning)
-"bHT" = (/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bHU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/item/roller,/obj/item/weapon/storage/box/disks,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
-"bHV" = (/turf/simulated/wall/r_wall,/area/toxins/server)
-"bHW" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bHX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bHY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bHZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/toxins/server)
-"bIa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bIb" = (/obj/machinery/camera{c_tag = "Server Room"; dir = 2; network = list("RD"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "Server Room APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bIc" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bId" = (/obj/machinery/computer/area_atmos,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage)
-"bIe" = (/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/storage)
-"bIf" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/structure/sign/nosmoking_2{pixel_x = 28},/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage)
-"bIg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bIh" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bIi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"bIj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIl" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIm" = (/obj/structure/table,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/circuitboard/teleporter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIn" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIo" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bIp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bIq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bIr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bIs" = (/obj/machinery/camera{c_tag = "Research Dock"; dir = 2; network = list("SS13","Research")},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock)
-"bIt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "13;65"},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock)
-"bIu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_inner"; locked = 1; name = "Shuttle Airlock"; req_access_txt = "13"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bIv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "research_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/research_shuttle_dock)
-"bIw" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/research_shuttle_dock)
-"bIx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"bIy" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps/mining,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bIz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bIA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage)
-"bIB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage)
-"bIC" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bID" = (/obj/structure/disposalpipe/segment,/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage)
-"bIE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bIF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bIG" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor,/area/quartermaster/storage)
-"bIH" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/sorting)
-"bII" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bIJ" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bIK" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #1"},/obj/machinery/bot/mulebot{beacon_freq = 1400; home_destination = "QM #1"; suffix = "#1"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting)
-"bIL" = (/obj/machinery/camera{c_tag = "Devilery Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bIM" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Delivery Office APC"; pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bIN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting)
-"bIO" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/disposal/deliveryChute{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bIP" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bIQ" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bIR" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIW"; location = "QM"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bIS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bIT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bIU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bIV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bIW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bIX" = (/turf/simulated/floor,/area/hallway/primary/central/south)
-"bIY" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AftH"; location = "AIW"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bIZ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bJa" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHE"; location = "AIE"},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bJb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bJc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bJd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJi" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bJj" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bJk" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bJl" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bJm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bJn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bJo" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bJp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"bJq" = (/obj/structure/grille,/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area)
-"bJr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{name = "Chief Medical Officer"; req_access_txt = "40"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo)
-"bJs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"bJt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"bJu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bJv" = (/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bJw" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area)
-"bJx" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area)
-"bJy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/wall,/area)
-"bJz" = (/obj/machinery/power/apc{dir = 8; name = "Genetics APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics_cloning)
-"bJA" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bJB" = (/obj/machinery/computer/cloning,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning)
-"bJC" = (/obj/machinery/dna_scannernew,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics_cloning)
-"bJD" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bJE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bJF" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bJG" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
-"bJH" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bJI" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bJJ" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bJK" = (/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Server Exterior Door"; req_access = null; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{dir = 8; name = "Server Interior Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bJL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bJM" = (/obj/structure/stool/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bJN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bJO" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/toxins/storage)
-"bJP" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage)
-"bJQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bJR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bJS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bJT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bJU" = (/obj/machinery/door/airlock/glass_command{name = "Research Director"; req_access_txt = "30"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bJV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bJW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bJX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bJY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bJZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/rack,/obj/item/clothing/suit/armor/reactive,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bKa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"bKb" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock)
-"bKc" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock)
-"bKd" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock)
-"bKe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/shuttle/plating,/area)
-"bKf" = (/obj/machinery/atmospherics/pipe/manifold,/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "research_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/medical/research_shuttle_dock)
-"bKg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "research_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 25; pixel_y = 0; req_access_txt = "13;65"; tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/research_shuttle_dock)
-"bKh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bKi" = (/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bKj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bKk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bKl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bKm" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bKn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bKt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/quartermaster/storage)
-"bKu" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting)
-"bKv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bKw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bKx" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting)
-"bKy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bKz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting)
-"bKA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/sorting)
-"bKB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting)
-"bKC" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "packageSort2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/quartermaster/sorting)
-"bKD" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bKE" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
-"bKF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKG" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKK" = (/obj/machinery/camera{c_tag = "Central Primary Hallway South-West"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKV" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 22},/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bKX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKY" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bKZ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door_control{id = "paramedic"; name = "Garage Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "66"},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLe" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bLf" = (/obj/machinery/iv_drip,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bLg" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bLh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"bLi" = (/obj/structure/flora/kirbyplants,/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/cmo)
-"bLj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo)
-"bLk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo)
-"bLl" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/light{dir = 1},/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/briefcase,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/cmo)
-"bLm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"bLn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bLo" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bLp" = (/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/cryo)
-"bLq" = (/obj/machinery/light{dir = 1; in_use = 1},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo)
-"bLr" = (/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/cryo)
-"bLs" = (/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
-"bLt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall,/area)
-"bLu" = (/obj/machinery/computer/scan_consolenew,/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bLv" = (/obj/machinery/dna_scannernew,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bLw" = (/obj/machinery/door/window/southright{dir = 1; name = "Primate Pen"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bLx" = (/obj/machinery/dna_scannernew,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bLy" = (/obj/machinery/computer/scan_consolenew,/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
-"bLz" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bLA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
-"bLB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/toxins/server)
-"bLC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bLD" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bLE" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
-"bLF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/toxins/storage)
-"bLG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bLH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bLI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bLJ" = (/obj/machinery/power/apc{dir = 8; name = "RD Office APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLK" = (/obj/machinery/hologram/holopad,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLL" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/toxins{pixel_x = 4; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1},/obj/item/clothing/glasses/welding/superior,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLM" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLO" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bLP" = (/obj/machinery/computer/shuttle_control/research{req_access = null; req_access_txt = 0},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock)
-"bLQ" = (/obj/machinery/camera{c_tag = "Cargo Recieving Dock"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "cargo_bay"; pixel_x = -30; tag_door = "cargo_shuttle_inner"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage)
-"bLR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bLS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bLT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bLU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bLV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bLW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2)
-"bLX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/nations{name = "Cargonia"},/turf/simulated/floor,/area/quartermaster/storage)
-"bLY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bLZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bMa" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/sorting)
-"bMb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting)
-"bMc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bMd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bMe" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #3"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting)
-"bMf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bMg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting)
-"bMh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting)
-"bMi" = (/turf/simulated/floor,/area/quartermaster/sorting)
-"bMj" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/sorting)
-"bMk" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bMl" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/central/sw)
-"bMm" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bMn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "blueshield"; name = "Blueshield Office Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bMo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Blueshield Office"; req_access_txt = "67"},/turf/simulated/floor/wood,/area/blueshield)
-"bMp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "representative"; name = "Blueshield Office Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"bMq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bMr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "representative"; name = "Blueshield Office Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bMs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south)
-"bMt" = (/obj/structure/sign/directions/engineering,/obj/structure/sign/directions/science{dir = 4; pixel_x = 0; pixel_y = -7},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/turf/simulated/wall,/area)
-"bMu" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access_txt = "26"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/janitor)
-"bMv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bMw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area)
-"bMx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/shutters{id = "paramedic"; name = "Paramedic Garage Door"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bMy" = (/obj/machinery/door/airlock/diamond{name = "Paramedic"; req_access_txt = "66"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bMz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bMA" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bMB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bMC" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area)
-"bMD" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 27; pixel_y = -9},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bME" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo)
-"bMF" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bMG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bMH" = (/obj/machinery/power/apc{dir = 4; name = "CMO Office APC"; pixel_x = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo)
-"bMI" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
-"bMJ" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo)
-"bMK" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/cryo)
-"bML" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/medical/cryo)
-"bMM" = (/obj/machinery/camera{c_tag = "Cryogenics"; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo)
-"bMN" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo)
-"bMO" = (/obj/item/roller,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/cryo)
-"bMP" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics)
-"bMQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
-"bMR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/medical/genetics)
-"bMS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bMT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bMU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
-"bMV" = (/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
-"bMW" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Gas Storage Room"; dir = 4; network = list("RD"); pixel_y = -22},/turf/simulated/floor,/area/toxins/storage)
-"bMX" = (/mob/living/simple_animal/mouse/white,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage)
-"bMY" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bMZ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bNa" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bNb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bNc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"bNd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry)
-"bNe" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"bNf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry)
-"bNg" = (/turf/simulated/wall/r_wall,/area/toxins/test_area)
-"bNh" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area)
-"bNi" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage)
-"bNj" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bNk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bNl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bNm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bNn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bNo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bNp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bNq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage)
-"bNr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bNs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/storage)
-"bNt" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/sorting)
-"bNu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bNv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bNw" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting)
-"bNx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bNy" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/sorting)
-"bNz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting)
-"bNA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/quartermaster/sorting)
-"bNB" = (/obj/machinery/programmable/unloader,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/sorting)
-"bNC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bND" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/blueshield)
-"bNE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/blueshield)
-"bNF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/blueshield)
-"bNG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/blueshield)
-"bNH" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 4; name = "Blueshield Office APC"; pixel_x = 24; pixel_y = -3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/blueshield)
-"bNI" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/ntrep)
-"bNJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/ntrep)
-"bNK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/ntrep)
-"bNL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/ntrep)
-"bNM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2)
-"bNN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bNO" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/aft)
-"bNP" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bNQ" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/janitor)
-"bNR" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor)
-"bNS" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Custodial Closet"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor)
-"bNT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_y = 30},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/janitor)
-"bNU" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor)
-"bNV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/reagent_dispensers/spacecleanertank{pixel_y = 30},/turf/simulated/floor,/area/janitor)
-"bNW" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/janitor)
-"bNX" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Janitor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/janitor)
-"bNY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bNZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/wall,/area)
-"bOa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bOb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/vehicle/train/ambulance/engine,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bOc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_control{id = "paramedic"; name = "Garage Door Control"; pixel_x = -1; pixel_y = 24; req_access_txt = "66"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bOd" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bOe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/paramedic,/obj/item/key/ambulance,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bOf" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bOg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bOh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bOi" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Medbay Acute 2"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bOj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Acute Treatment 2"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bOk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bOl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bOm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bOn" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo)
-"bOo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "5"},/turf/simulated/floor,/area/medical/medbay2)
-"bOp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bOq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo)
-"bOr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bOs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bOt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bOu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/cryo)
-"bOv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo)
-"bOw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo)
-"bOx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/medical/cryo)
-"bOy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/cryo)
-"bOz" = (/obj/machinery/power/apc{dir = 4; name = "Cryogenics APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/cryo)
-"bOA" = (/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics)
-"bOB" = (/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bOC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bOD" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Genetics Aft"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bOE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bOF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bOG" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
-"bOH" = (/obj/structure/table/reinforced,/obj/item/device/sps,/obj/item/device/sps,/obj/item/device/sps,/turf/simulated/floor,/area/toxins/telesci)
-"bOI" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor,/area/toxins/telesci)
-"bOJ" = (/obj/machinery/computer/telescience,/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Telepad Camera Screen"; network = list("Telepad"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/toxins/telesci)
-"bOK" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bOL" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Telescience Pad APC"; pixel_y = 24},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bOM" = (/obj/machinery/camera{c_tag = "Misc Test Chamber"; dir = 2; network = list("Telepad"); pixel_x = 0},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bON" = (/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bOO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/toxins/storage)
-"bOP" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage)
-"bOQ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bOR" = (/obj/machinery/power/apc{dir = 8; name = "Misc Research APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bOS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bOT" = (/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bOU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bOV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bOW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bOX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bOY" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing)
-"bOZ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"bPa" = (/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"bPb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"bPc" = (/turf/simulated/floor/airless,/area/toxins/test_area)
-"bPd" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/airless,/area/toxins/test_area)
-"bPe" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/structure/plasticflaps/mining,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bPf" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage)
-"bPg" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage)
-"bPh" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage)
-"bPi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage)
-"bPj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage)
-"bPk" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage)
-"bPl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage)
-"bPm" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor,/area/quartermaster/storage)
-"bPn" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/sorting)
-"bPo" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
-"bPp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting)
-"bPq" = (/obj/machinery/telepad_cargo,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/sorting)
-"bPr" = (/turf/simulated/wall,/area/quartermaster/sorting)
-"bPs" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bPt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bPu" = (/turf/simulated/floor/wood,/area/blueshield)
-"bPv" = (/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bPw" = (/turf/simulated/floor/wood,/area/ntrep)
-"bPx" = (/turf/simulated/floor/carpet,/area/ntrep)
-"bPy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/ntrep)
-"bPz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area)
-"bPA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bPB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft)
-"bPC" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bPD" = (/obj/machinery/power/apc{dir = 8; name = "Custodial Closet APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor)
-"bPE" = (/obj/structure/stool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/start{name = "Janitor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/janitor)
-"bPF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/janitor)
-"bPG" = (/obj/effect/landmark/start{name = "Janitor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/janitor)
-"bPH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/janitor)
-"bPI" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/janitor)
-"bPJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bPK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/vehicle/train/ambulance/trolley,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bPL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bPM" = (/obj/structure/closet/secure_closet/paramedic,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"bPN" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bPO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute2"; name = "Acute 2 Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper)
-"bPP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bPQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bPR" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bPS" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 9},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo)
-"bPT" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay Emergency Entrance"; req_access_txt = "5"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/medbay2)
-"bPU" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bPV" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo)
-"bPW" = (/obj/machinery/camera{c_tag = "Medbay Starboard Corridor"; dir = 4; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bPX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bPY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bPZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/cryo)
-"bQa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo)
-"bQb" = (/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/medical/cryo)
-"bQc" = (/turf/simulated/floor,/area/medical/cryo)
-"bQd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo)
-"bQe" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo)
-"bQf" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/cryo)
-"bQg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/toxins/telesci)
-"bQh" = (/turf/simulated/floor,/area/toxins/telesci)
-"bQi" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area)
-"bQj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bQk" = (/obj/item/device/radio/beacon,/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bQl" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bQm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage)
-"bQn" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bQo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bQp" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/mixing)
-"bQq" = (/obj/machinery/firealarm,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area)
-"bQr" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"bQs" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"bQt" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber North"; network = list("Toxins")},/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/toxins/test_area)
-"bQu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bQv" = (/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bQw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bQx" = (/obj/machinery/camera{c_tag = "Cargo Bay West"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bQy" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bQz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
-"bQA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "47;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bQB" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting)
-"bQC" = (/obj/item/weapon/storage/box,/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/simulated/floor,/area/quartermaster/sorting)
-"bQD" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting)
-"bQE" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting)
-"bQF" = (/obj/structure/table,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting)
-"bQG" = (/obj/structure/table,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting)
-"bQH" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/quartermaster/sorting)
-"bQI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/sorting)
-"bQJ" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/sorting)
-"bQK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/westleft{name = "Mail"; req_access_txt = "50"},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
-"bQL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bQM" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area)
-"bQN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bQO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay Emergency Entrance"; req_access_txt = "5"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/medbay2)
-"bQP" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/ntrep)
-"bQQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bQR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/aft)
-"bQS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bQT" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor)
-"bQU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/janitor)
-"bQV" = (/obj/machinery/light,/obj/vehicle/train/janitor/trolley,/turf/simulated/floor,/area/janitor)
-"bQW" = (/obj/vehicle/train/janitor/engine,/turf/simulated/floor,/area/janitor)
-"bQX" = (/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/turf/simulated/floor,/area/janitor)
-"bQY" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/janitor)
-"bQZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRd" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRe" = (/obj/machinery/computer/crew,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bRf" = (/obj/machinery/iv_drip,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
-"bRg" = (/obj/machinery/door_control{id = "acute2"; name = "Acute 2 Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bRh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bRi" = (/obj/machinery/vending/medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay2)
-"bRj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"bRk" = (/obj/machinery/door_control{id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bRl" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bRm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "47;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bRn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bRo" = (/obj/machinery/photocopier,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2)
-"bRp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2)
-"bRq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bRr" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/cryo)
-"bRs" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo)
-"bRt" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo)
-"bRu" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo)
-"bRv" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay Lobby)"; pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo)
-"bRw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/cryo)
-"bRx" = (/obj/machinery/iv_drip,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_a)
-"bRy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_a)
-"bRz" = (/obj/machinery/door_control{id = "medpriva"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a)
-"bRA" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c)
-"bRB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_c)
-"bRC" = (/obj/machinery/door_control{id = "medprivc"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_c)
-"bRD" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area)
-"bRE" = (/obj/machinery/telepad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bRF" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bRG" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage)
-"bRH" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bRI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bRJ" = (/obj/effect/landmark/start{name = "Scientist"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bRK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/mixing)
-"bRL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing)
-"bRM" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/mixing)
-"bRN" = (/obj/structure/closet/wardrobe/toxins_white,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitepurple"},/area/toxins/mixing)
-"bRO" = (/obj/structure/closet/wardrobe/toxins_white,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing)
-"bRP" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing)
-"bRQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/rack,/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/mixing)
-"bRR" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing)
-"bRS" = (/obj/machinery/camera{c_tag = "Toxins Mixing Room North"; dir = 2; network = list("SS13"); pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRT" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRV" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRW" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRX" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRY" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bRZ" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/mixing)
-"bSa" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing)
-"bSb" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/toxins/mixing)
-"bSc" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"bSd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bSe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{name = "Mining Dock"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock)
-"bSf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"bSg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "31"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/storage)
-"bSh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "50"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/quartermaster/sorting)
-"bSi" = (/obj/structure/disposalpipe/wrapsortjunction{dir = 1},/turf/simulated/wall,/area)
-"bSj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area)
-"bSk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bSl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bSm" = (/obj/effect/landmark/start{name = "Blueshield"},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bSn" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage)
-"bSo" = (/obj/machinery/power/apc{dir = 4; name = "Centcomm Rep APC"; pixel_x = 24; pixel_y = -3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light{dir = 1},/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/ntrep)
-"bSp" = (/obj/effect/landmark/start{name = "Nanotrasen Representative"},/turf/simulated/floor/carpet,/area/ntrep)
-"bSq" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/ntrep)
-"bSr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/wood,/area/ntrep)
-"bSs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bSt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft)
-"bSu" = (/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bSv" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access_txt = "26"},/turf/simulated/floor/plating,/area/janitor)
-"bSw" = (/obj/machinery/power/apc{dir = 8; name = "Medbay Maintenance APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bSx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bSy" = (/turf/simulated/wall,/area/medical/sleeper)
-"bSz" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bSA" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bSB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bSC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"bSD" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo)
-"bSE" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo)
-"bSF" = (/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo)
-"bSG" = (/obj/machinery/computer/crew,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo)
-"bSH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"bSI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bSJ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bSK" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_a)
-"bSL" = (/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a)
-"bSM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a)
-"bSN" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_c)
-"bSO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c)
-"bSP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient C"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c)
-"bSQ" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area)
-"bSR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bSS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/toxins/telescipad)
-"bST" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage)
-"bSU" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage)
-"bSV" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bSW" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bSX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bSY" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Mixing Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing)
-"bSZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/mixing)
-"bTa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing)
-"bTb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/mixing)
-"bTc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Mixing Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/toxins/mixing)
-"bTd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing)
-"bTe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bTf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/window/eastright{name = "Toxins Mixing Room"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/mixing)
-"bTg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing)
-"bTh" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/toxins/mixing)
-"bTi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bTj" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing)
-"bTk" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing)
-"bTl" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/toxins/mixing)
-"bTm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bTn" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bTo" = (/obj/machinery/driver_button{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/toxins/mixing)
-"bTp" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/toxins/mixing)
-"bTq" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/toxins/test_area)
-"bTr" = (/turf/simulated/floor/airless{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/area/toxins/test_area)
-"bTs" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock)
-"bTt" = (/obj/machinery/power/apc{dir = 1; name = "Mining Dock APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock)
-"bTu" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock)
-"bTv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/mech_bay_recharge_floor,/area/quartermaster/miningdock)
-"bTw" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock)
-"bTx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock)
-"bTy" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock)
-"bTz" = (/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/miningdock)
-"bTA" = (/obj/machinery/conveyor{dir = 5; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bTB" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bTC" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bTD" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bTE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/disposal)
-"bTF" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door_control{id = "Biohazard_medi"; name = "Emergency Medbay Quarantine"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bTG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bTO" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor/wood,/area/blueshield)
-"bTP" = (/obj/structure/table/woodentable,/obj/item/ashtray/glass{pixel_x = -4; pixel_y = -4},/obj/item/weapon/lighter/zippo/fluff/li_matsuda_1{pixel_x = 7; pixel_y = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bTQ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue,/obj/item/weapon/paper{info = "Blueshield Mission Briefing
You are charged with the defense of any persons of importance within the station. This includes but is not limited to The Captain, The Heads of Staff and Central Command staff. You answer directly to the Head of Security who will assist you in achieving your mission.
Where required to achieve your primary responsibility you should liase with security and share resources, however the day to day security operations of the station are outside of your jurisdiction.
Monitor the health and safety of your principals, identify any potential risks and threats then alert the proper departments to resolve the situation. You are authorized to act as bodyguard to any of the station heads that you determine are most in need of protection, however additional access to their departments shall be granted solely at their discretion.
Observe the station alert system and carry your armaments only as required by the situation or when authorized by the Head of Security or Captain in exceptional cases.
Remember, as an agent of Nanotransen it is your responsibility to conduct yourself appropriately and you will be held to the highest standard. You will be held accountable for your actions. Security is authorized to search, interrogate or detain you as required by their own procedures. Internal affairs will also monitor and observe your conduct and their mandate applies equally to security and blueshield operations.
Dagon Blade, Blueshield Commander
"; name = "Blueshield Mission Briefing"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bTR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bTS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/flag/nt,/turf/simulated/floor/wood,/area/blueshield)
-"bTT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/flag/nt,/turf/simulated/floor/wood,/area/ntrep)
-"bTU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/ntrep)
-"bTV" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/ntrep)
-"bTW" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/fluff/fountainpen,/turf/simulated/floor/carpet,/area/ntrep)
-"bTX" = (/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/wood,/area/ntrep)
-"bTY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bTZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft)
-"bUa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bUb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bUk" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/sleeper)
-"bUl" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/sleeper)
-"bUm" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/sleeper)
-"bUn" = (/obj/machinery/door_control{id = "scanhide"; name = "Scanning Room Shutters"; pixel_y = 25},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/sleeper)
-"bUo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"bUp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bUq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"bUr" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"bUs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area)
-"bUt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo)
-"bUu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area)
-"bUv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bUw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bUx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/camera{c_tag = "Medbay Patient Isolation Access"; network = list("SS13")},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bUE" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_a)
-"bUF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_a)
-"bUG" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_a)
-"bUH" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_c)
-"bUI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_c)
-"bUJ" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c)
-"bUK" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/toxins/telesci)
-"bUL" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area)
-"bUM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telesci)
-"bUN" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area)
-"bUO" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "Toxins Storage APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage)
-"bUP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/storage)
-"bUQ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bUR" = (/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
-"bUS" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/mixing)
-"bUT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing)
-"bUU" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/mixing)
-"bUV" = (/obj/structure/closet/bombcloset,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing)
-"bUW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/mixing)
-"bUX" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing)
-"bUY" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bUZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Dormitories APC"; pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep)
-"bVa" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 1; req_access = null},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bVb" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bVc" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor,/area/toxins/mixing)
-"bVd" = (/turf/simulated/floor,/area/toxins/mixing)
-"bVe" = (/turf/simulated/floor/airless{dir = 8; icon_state = "warning"},/area/toxins/test_area)
-"bVf" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
-"bVg" = (/turf/simulated/floor,/area/quartermaster/miningdock)
-"bVh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/miningdock)
-"bVi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/miningdock)
-"bVj" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock)
-"bVk" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bVl" = (/turf/simulated/wall,/area/maintenance/disposal)
-"bVm" = (/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bVn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bVo" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bVp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bVq" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor/wood,/area/blueshield)
-"bVr" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bVs" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_one_access = null},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bVt" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
-"bVu" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/wood,/area/blueshield)
-"bVv" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/ntrep)
-"bVw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/ntrep)
-"bVx" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/machinery/light/small/lamp/green{pixel_x = -5; pixel_y = 12},/obj/item/weapon/paper{info = "Centcomm Representative Mission Briefing
Nanotransen Central Command has dispatched you to this station in order to liase with command staff on their behalf. As experienced field officers, the staff on the station are experts in handling their own fields. It is your job however to consider the bigger picture and to direct the staff towards Nanotransen's corporate interests.
As a civilian, you should consider yourself an advisor, diplomat and intermediary. The command staff do not answer to you directly and are not required to follow your orders nor do you have disciplinary authority over personnel. In all station internal matters you answer to the Head of Personnel who will direct you in your conduct within the station. However you also answer to Centcomm who may, as required, direct you in acting on company interests.
Central command may dispatch orders to the staff through you which you are responsible to communicate, however enforcement of these orders is not your mandate and will be handled directly by central command or authorized nanotransen personnel. When not specifically directed by central command, assist the head of personnel in evaluation of the station and receiving departmental reports.
Your office has been provided with a direct link to central command, through which you can issue any urgent reports or requests for Nanotransen intervention. Remember that any direct intervention is a costly exercise and should be used only when the situation justifies the request. You will be held accountable for any unnecessary usage of Nanotransen resources.
"; name = "Centcomm Representative Mission Briefing"},/turf/simulated/floor/carpet,/area/ntrep)
-"bVy" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/carpet,/area/ntrep)
-"bVz" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/turf/simulated/floor/wood,/area/ntrep)
-"bVA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bVB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"bVC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bVD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bVE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bVF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bVG" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "bot"},/area/maintenance/asmaint)
-"bVH" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper)
-"bVI" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper)
-"bVJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper)
-"bVK" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper)
-"bVL" = (/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/sleeper)
-"bVM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/sleeper)
-"bVN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bVO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bVP" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVQ" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVR" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVS" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/roller,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVU" = (/obj/machinery/vending/coffee,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVV" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/medical,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVW" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
-"bVX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bVY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bVZ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWb" = (/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWd" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bWf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medpriva"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"bWg" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso A"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access)
-"bWh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivc"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"bWi" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso C"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c)
-"bWj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivc"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"bWk" = (/obj/machinery/power/apc{dir = 8; name = "Telescience APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/toxins/telesci)
-"bWl" = (/obj/machinery/telepad_cargo,/turf/simulated/floor,/area/toxins/telesci)
-"bWm" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci)
-"bWn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci)
-"bWo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci)
-"bWp" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/camera{c_tag = "Miscellaneous Research"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor,/area/toxins/telesci)
-"bWq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/toxins/storage)
-"bWr" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bWs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bWt" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/mixing)
-"bWu" = (/obj/structure/closet/bombcloset,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/mixing)
-"bWv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing)
-"bWw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/l3closet/scientist,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/toxins/mixing)
-"bWx" = (/obj/machinery/atmospherics/trinary/filter{density = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bWy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bWz" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bWA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/toxins/mixing)
-"bWB" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/mixing)
-"bWC" = (/turf/simulated/floor{icon_state = "warning"},/area/toxins/mixing)
-"bWD" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/mixing)
-"bWE" = (/turf/simulated/floor/airless{dir = 4; icon_state = "warning"},/area/toxins/test_area)
-"bWF" = (/turf/simulated/floor/airless{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/test_area)
-"bWG" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/mining/station)
-"bWH" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/mining/station)
-"bWI" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/mining/station)
-"bWJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/mining/station)
-"bWK" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
-"bWL" = (/obj/structure/rack{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock)
-"bWM" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bWN" = (/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bWO" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bWP" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bWQ" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"bWR" = (/turf/simulated/floor/plating,/area/maintenance/aft)
-"bWS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bWT" = (/obj/structure/closet/secure_closet/blueshield,/turf/simulated/floor/wood,/area/blueshield)
-"bWU" = (/obj/structure/rack,/obj/item/clothing/suit/armor/vest/fluff/deus_blueshield,/obj/item/clothing/tie/blue,/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/shoes/centcom,/obj/item/clothing/under/rank/centcom_officer,/obj/item/clothing/head/beret/centcom/officer,/obj/machinery/door_control{id = "blueshield"; name = "Office Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/turf/simulated/floor/wood,/area/blueshield)
-"bWV" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/turf/simulated/floor/wood,/area/blueshield)
-"bWW" = (/obj/machinery/camera{c_tag = "Blueshield Office"; dir = 1; name = "Blueshield Camera"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/blueshield)
-"bWX" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield)
-"bWY" = (/obj/structure/rack,/obj/item/clothing/shoes/centcom,/obj/item/clothing/under/lawyer/black{name = "Executive Suit"},/obj/item/clothing/under/lawyer/female{name = "Executive Suit"},/obj/item/clothing/under/rank/centcom_officer,/obj/item/weapon/storage/briefcase,/obj/item/clothing/under/lawyer/oldman,/obj/item/device/paicard{pixel_x = 4},/obj/item/clothing/gloves/white,/turf/simulated/floor/wood,/area/ntrep)
-"bWZ" = (/obj/machinery/door_control{id = "representative"; name = "Office Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/turf/simulated/floor/wood,/area/ntrep)
-"bXa" = (/obj/machinery/camera{c_tag = "Centcomm Office"; dir = 1; name = "Centcom Office Camera"},/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep)
-"bXb" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/wood,/area/ntrep)
-"bXc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep)
-"bXd" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera{c_tag = "Aft Primary Hallway 2"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bXe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"bXf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bXg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room)
-"bXh" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/break_room)
-"bXi" = (/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/break_room)
-"bXj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"bXk" = (/obj/machinery/power/monitor,/obj/structure/cable,/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/break_room)
-"bXl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bXm" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bXn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bXo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area)
-"bXp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper)
-"bXq" = (/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor,/area/medical/sleeper)
-"bXr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/sleeper)
-"bXs" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2)
-"bXt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXu" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/nations{name = "Medistan"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bXA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
-"bXB" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bXC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bXD" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo)
-"bXG" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/table,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bXR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bXS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bXT" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bXU" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/toxins/telesci)
-"bXV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/toxins/telesci)
-"bXW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bXX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bXY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/telesci)
-"bXZ" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Telescience"; req_access_txt = "7"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci)
-"bYa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bYb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bYc" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bYd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bYe" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bYf" = (/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/toxins/mixing)
-"bYg" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bYh" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bYi" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/mixing)
-"bYj" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/mixing)
-"bYk" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/toxins/mixing)
-"bYl" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/toxins/mixing)
-"bYm" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating{nitrogen = 0.01; oxygen = 0.01},/area/toxins/mixing)
-"bYn" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/toxins/mixing)
-"bYo" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access_txt = "8"; req_one_access_txt = "0"},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access_txt = "8"},/turf/simulated/floor/plating,/area/toxins/mixing)
-"bYp" = (/turf/simulated/floor/airless{icon_state = "warning"},/area/toxins/test_area)
-"bYq" = (/turf/simulated/floor/airless{dir = 6; icon_state = "warning"},/area/toxins/test_area)
-"bYr" = (/turf/simulated/floor/airless{dir = 10; icon_state = "warning"},/area/toxins/test_area)
-"bYs" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/mining/station)
-"bYt" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bYu" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bYv" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bYw" = (/obj/machinery/computer/security/mining,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera{c_tag = "Mining Dock"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
-"bYx" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock)
-"bYy" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock)
-"bYz" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bYA" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bYB" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bYC" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/aft)
-"bYD" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"bYE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"bYF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"bYG" = (/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/turf/simulated/floor{icon_state = "bot"},/area/engine/break_room)
-"bYH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Moniter Station"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/engine/break_room)
-"bYI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/engine/break_room)
-"bYJ" = (/turf/simulated/floor,/area/engine/break_room)
-"bYK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room)
-"bYL" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room)
-"bYM" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bYN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bYO" = (/obj/machinery/power/apc{dir = 2; name = "Cargo Bay APC"; pixel_x = 0; pixel_y = -24},/obj/structure/cable,/obj/machinery/camera{c_tag = "Cargo Bay East"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
-"bYP" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper)
-"bYQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper)
-"bYR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/sleeper)
-"bYS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
-"bYT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYW" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYY" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bYZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"bZa" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Psych Office"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/psych)
-"bZb" = (/obj/machinery/camera{c_tag = "Medbay Isolation Corridor"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area)
-"bZc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZd" = (/obj/machinery/light,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZe" = (/turf/simulated/floor{dir = 2; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 8; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"bZl" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bZm" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bZn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bZo" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/toxins/telesci)
-"bZp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"bZq" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/telesci)
-"bZr" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Telescience"; req_access_txt = "7"},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci)
-"bZs" = (/obj/machinery/light,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bZt" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bZu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bZv" = (/obj/machinery/camera{c_tag = "Research Division South"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bZw" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"bZx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bZy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bZz" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bZA" = (/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/structure/table,/obj/item/device/transfer_valve,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZB" = (/obj/item/device/assembly/timer,/obj/item/device/assembly/timer{pixel_x = 6},/obj/item/device/assembly/timer{pixel_x = -5; pixel_y = 6},/obj/structure/table,/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = -4},/obj/item/device/assembly/timer{pixel_x = 8; pixel_y = 8},/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZC" = (/obj/structure/dispenser,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/toxins/mixing)
-"bZE" = (/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZG" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1; initialize_directions = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bZH" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/toxins/mixing)
-"bZI" = (/obj/machinery/portable_atmospherics/pump,/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/toxins/mixing)
-"bZJ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/toxins/mixing)
-"bZK" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/toxins/mixing)
-"bZL" = (/obj/machinery/mass_driver{dir = 4; id = "toxinsdriver"},/turf/simulated/floor/plating,/area/toxins/mixing)
-"bZM" = (/turf/simulated/floor/plating,/area/toxins/mixing)
-"bZN" = (/obj/machinery/door/poddoor{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/toxins/mixing)
-"bZO" = (/obj/machinery/door/poddoor{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"bZP" = (/obj/item/device/radio/beacon,/turf/simulated/floor/airless{icon_state = "bot"},/area/toxins/test_area)
-"bZQ" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber East"; dir = 8; network = list("Toxins")},/obj/machinery/light{dir = 4},/turf/simulated/floor/airless,/area/toxins/test_area)
-"bZR" = (/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bZS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bZT" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"bZU" = (/obj/item/weapon/ore/iron,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/miningdock)
-"bZV" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 4},/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "mining_dock_pump"},/obj/machinery/airlock_sensor{id_tag = "mining_dock_sensor"; pixel_x = 28; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access_txt = "13;48"; tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/quartermaster/miningdock)
-"bZW" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock)
-"bZX" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
-"bZY" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock)
-"bZZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
-"caa" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/tajaran,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock)
-"cab" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/recycler{eat_dir = 1; emagged = 0},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cac" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cad" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/ntrep)
-"cae" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech)
-"caf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech)
-"cag" = (/obj/machinery/camera{c_tag = "Tech Storage"; dir = 2},/obj/machinery/power/apc{dir = 1; name = "Tech Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/storage/tech)
-"cah" = (/obj/structure/table,/obj/item/device/analyzer,/obj/item/device/healthanalyzer,/turf/simulated/floor/plating,/area/storage/tech)
-"cai" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
-"caj" = (/turf/simulated/floor/plating,/area/storage/tech)
-"cak" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cal" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft)
-"cam" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft)
-"can" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"cao" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor,/area/engine/break_room)
-"cap" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room)
-"caq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"car" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room)
-"cas" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera{c_tag = "Atmospherics Monitoring"; dir = 8; network = list("SS13")},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room)
-"cat" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area)
-"cau" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/sleeper)
-"cav" = (/obj/machinery/bodyscanner,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper)
-"caw" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/body_scanconsole,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper)
-"cax" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/sleeper)
-"cay" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Scanning Room"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"caz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2)
-"caA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caC" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"caD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2)
-"caE" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caG" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caH" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2)
-"caJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/wood,/area/medical/psych)
-"caK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/medical/psych)
-"caL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/wood,/area/medical/psych)
-"caM" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/weapon/storage/briefcase,/turf/simulated/floor/wood,/area/medical/psych)
-"caN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area)
-"caO" = (/obj/structure/extinguisher_cabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area)
-"caP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Secondary Storage"; req_access_txt = "39"},/turf/simulated/floor,/area/medical/biostorage)
-"caQ" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area)
-"caR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivb"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"caS" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso B"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access)
-"caT" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -5; pixel_y = 36},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/tie/stethoscope,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo)
-"caU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area)
-"caV" = (/obj/machinery/light,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"caW" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"caX" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"caY" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"caZ" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"cba" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/radiation,/turf/simulated/floor,/area/toxins/telesci)
-"cbb" = (/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"})
-"cbc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"})
-"cbd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"cbe" = (/obj/machinery/light,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"})
-"cbf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cbg" = (/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = 5; pixel_y = 5},/obj/structure/table,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -5},/obj/item/device/assembly/prox_sensor,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cbh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cbi" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cbj" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cbk" = (/obj/machinery/atmospherics/pipe/tank/toxins{dir = 8; volume = 20000},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cbl" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/toxins/test_area)
-"cbm" = (/turf/simulated/floor/airless{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/test_area)
-"cbn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Mining Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"cbo" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
-"cbp" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/miningdock)
-"cbq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/miningdock)
-"cbr" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_dock_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/quartermaster/miningdock)
-"cbs" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
-"cbt" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock)
-"cbu" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/light/small{dir = 8},/obj/structure/sign/vacuum{pixel_x = -32},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/disposal)
-"cbv" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cbw" = (/obj/machinery/atmospherics/pipe/vent{dir = 2},/turf/simulated/floor/plating/airless,/area)
-"cbx" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"cby" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"cbz" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"cbA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"cbB" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/storage/tech)
-"cbC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"cbD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/storage/tech)
-"cbE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
-"cbF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
-"cbG" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cbH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"cbI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"cbJ" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Desk"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/engine/break_room)
-"cbK" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/engine/break_room)
-"cbL" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engine/break_room)
-"cbM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/engine/break_room)
-"cbN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room)
-"cbO" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room)
-"cbP" = (/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cbQ" = (/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/engine/break_room)
-"cbR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room)
-"cbS" = (/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/engine/break_room)
-"cbT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cbU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cbV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cbW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"cbX" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Blueshield"; departmentType = 5; name = "Blueshield Requests Console"; pixel_x = 30},/turf/simulated/floor/wood,/area/blueshield)
-"cbY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area)
-"cbZ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/medical/psych)
-"cca" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/medical/psych)
-"ccb" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/medical/psych)
-"ccc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/medical/psych)
-"ccd" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/biostorage)
-"cce" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/biostorage)
-"ccf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/biostorage)
-"ccg" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_b)
-"cch" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_b)
-"cci" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b)
-"ccj" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cck" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"ccl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Misc Research Maintenance"; req_access_txt = "7"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/telesci)
-"ccm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"ccn" = (/obj/structure/rack{dir = 1},/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cco" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"ccp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"ccq" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"ccr" = (/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"ccs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cct" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccu" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccv" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccw" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccx" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 8; req_access = null; target_pressure = 1.5e+007},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccz" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 8; volume = 20000},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"ccA" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"ccB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock)
-"ccC" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/miningdock)
-"ccD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock)
-"ccE" = (/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock)
-"ccF" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock)
-"ccG" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/miningdock)
-"ccH" = (/obj/machinery/programmable/unary/stacker,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"ccI" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"ccJ" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/plating/airless,/area)
-"ccK" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating/airless,/area)
-"ccL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area)
-"ccM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"ccN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 10},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"ccO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"ccP" = (/obj/machinery/atmospherics/pipe/tank/toxins{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ccQ" = (/obj/machinery/atmospherics/pipe/tank/oxygen{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ccR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ccS" = (/obj/structure/rack{dir = 1},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft)
-"ccT" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"ccU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor,/area/storage/tech)
-"ccV" = (/obj/machinery/camera{c_tag = "Secure Tech Storage"; dir = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/tech)
-"ccW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area)
-"ccX" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech)
-"ccY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"ccZ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech)
-"cda" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/turf/simulated/floor/plating,/area/storage/tech)
-"cdb" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech)
-"cdc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cdd" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/engine/break_room)
-"cde" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cdf" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room)
-"cdg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cdh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cdi" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room)
-"cdj" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cdk" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdm" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdn" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdo" = (/obj/machinery/power/apc{dir = 1; name = "Recovery Ward APC"; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdr" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cds" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdt" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cdw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"cdx" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/medical/psych)
-"cdy" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/medical/psych)
-"cdz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/carpet,/area/medical/psych)
-"cdA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage)
-"cdB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage)
-"cdC" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Medbay Storage Two"; dir = 8; network = list("SS13")},/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage)
-"cdD" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b)
-"cdE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b)
-"cdF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b)
-"cdG" = (/obj/structure/closet,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdQ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cdR" = (/obj/machinery/power/apc{dir = 8; name = "Toxins Research APC"; pixel_x = -25},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cdS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cdT" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/assembly/signaler{pixel_x = 8; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = 5; pixel_y = -5},/obj/item/device/assembly/signaler{pixel_x = 3; pixel_y = 4},/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = -2},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cdU" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cdV" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cdW" = (/obj/structure/sign/securearea{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cdX" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cdY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cdZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"cea" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"ceb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"cec" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"ced" = (/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"cee" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 8},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"cef" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing)
-"ceg" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"ceh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/mining/station)
-"cei" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"cej" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cek" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cel" = (/obj/machinery/camera{c_tag = "Disposals"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cem" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cen" = (/obj/structure/sign/nosmoking_2{pixel_x = -28},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"ceo" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_on"; name = "Gas Pump"; on = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cep" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ceq" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cer" = (/obj/machinery/power/apc{dir = 4; name = "Incinerator APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ces" = (/obj/structure/rack{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cet" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/storage/tech)
-"ceu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/tech)
-"cev" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access_txt = "19;23"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"cew" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"cex" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/storage/tech)
-"cey" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"cez" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/storage/tech)
-"ceA" = (/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access_txt = "23"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech)
-"ceB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"ceC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"ceD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"ceE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/engine/break_room)
-"ceF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room)
-"ceG" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor,/area/engine/break_room)
-"ceH" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/engine/break_room)
-"ceI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ceJ" = (/obj/machinery/gravity_generator/main/station,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room)
-"ceK" = (/obj/machinery/camera{c_tag = "Gravity Generator Room"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"ceL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"ceX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ceY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/medical/psych)
-"ceZ" = (/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor/carpet,/area/medical/psych)
-"cfa" = (/turf/simulated/floor/carpet,/area/medical/psych)
-"cfb" = (/obj/machinery/camera{c_tag = "Medbay Psych Office"; dir = 8; network = list("SS13")},/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/medical/psych)
-"cfc" = (/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage)
-"cfd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage)
-"cfe" = (/obj/structure/table,/obj/item/weapon/gun/syringe,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/antibody_scanner,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage)
-"cff" = (/obj/machinery/iv_drip,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_b)
-"cfg" = (/obj/machinery/light,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_b)
-"cfh" = (/obj/machinery/door_control{id = "medprivb"; name = "Privacy Shutters"; pixel_y = -25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_b)
-"cfi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfk" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfm" = (/obj/item/device/flashlight,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfn" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cfo" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"cfp" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"cfq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology)
-"cfr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology)
-"cfs" = (/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology)
-"cft" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cfu" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cfv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cfw" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cfx" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cfy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cfz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cfA" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/camera{c_tag = "Toxins Mixing Room South"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cfB" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/mining/station)
-"cfC" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/space,/area/shuttle/mining/station)
-"cfD" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/mining/station)
-"cfE" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area)
-"cfF" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cfG" = (/obj/machinery/door/poddoor{id = "disvent"; name = "Incinerator Vent"},/turf/simulated/floor/engine/vacuum,/area)
-"cfH" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cfI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/wall/r_wall,/area)
-"cfJ" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/access_button{command = "cycle_exterior"; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -22; pixel_y = -10},/obj/structure/sign/fire{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cfK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area)
-"cfL" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -26; pixel_y = 6; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = -24; pixel_y = -6},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cfM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cfN" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cfO" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cfP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cfQ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor,/area/storage/tech)
-"cfR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/tech)
-"cfS" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech)
-"cfT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/turf/simulated/floor/plating,/area/storage/tech)
-"cfU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating,/area/storage/tech)
-"cfV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech)
-"cfW" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech)
-"cfX" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/hallway/secondary/construction{name = "\improper Engineering Training"})
-"cfY" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room)
-"cfZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cga" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cgb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cgc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"cgd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cge" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cgf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"cgg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cgh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgj" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgl" = (/obj/structure/stool/bed/chair/comfy/black,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cgn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"cgo" = (/obj/structure/stool/psychbed,/turf/simulated/floor/carpet,/area/medical/psych)
-"cgp" = (/obj/structure/stool/bed/chair/comfy/lime{tag = "icon-comfychair_lime (NORTH)"; icon_state = "comfychair_lime"; dir = 1},/turf/simulated/floor/carpet,/area/medical/psych)
-"cgq" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/medical/psych)
-"cgr" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/carpet,/area/medical/psych)
-"cgs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage)
-"cgt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/medical/biostorage)
-"cgu" = (/obj/machinery/power/apc{dir = 4; name = "Medbay Storage APC"; pixel_x = 25},/obj/structure/cable,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage)
-"cgv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cgw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area)
-"cgx" = (/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cgy" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard)
-"cgz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cgA" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cgB" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cgC" = (/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cgD" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"cgE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area)
-"cgF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing)
-"cgG" = (/obj/machinery/mass_driver{dir = 8; id = "trash"},/turf/simulated/floor/plating/airless,/area/maintenance/disposal)
-"cgH" = (/obj/machinery/igniter{icon_state = "igniter0"; id = "Incinerator"; on = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cgI" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access_txt = "12"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cgJ" = (/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cgK" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cgL" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cgM" = (/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cgN" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cgO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cgP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cgQ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cgR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"cgS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area)
-"cgT" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
-"cgU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/storage/tech)
-"cgV" = (/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
-"cgW" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech)
-"cgX" = (/obj/machinery/power/apc{name = "Aft Hall APC"; dir = 8; pixel_x = -25; pixel_y = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cgY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"cgZ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cha" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/hallway/secondary/construction{name = "\improper Engineering Training"})
-"chb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/engine/break_room)
-"chc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room)
-"chd" = (/obj/structure/table,/obj/item/apc_frame,/turf/simulated/floor,/area/engine/break_room)
-"che" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/machinery/door_control{id = "engitrain"; name = "Engineering Training"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "24"; specialfunctions = 4},/turf/simulated/floor,/area/engine/break_room)
-"chf" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = -32; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"chg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"chh" = (/obj/machinery/door/airlock/glass_command{name = "Gravity Generator Area"; req_access_txt = "19; 61"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room)
-"chi" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"chj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"chk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"chl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"chm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"chn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cho" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"chp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"chq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"chr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"chs" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/biostorage)
-"cht" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/biostorage)
-"chu" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/biostorage)
-"chv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"chw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"chx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"chy" = (/obj/machinery/power/apc{dir = 8; name = "Aft Starboard Solar APC"; pixel_x = -26; pixel_y = 3},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/solar/starboard)
-"chz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard)
-"chA" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/solar/starboard)
-"chB" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chC" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chD" = (/obj/machinery/atmospherics/binary/pump/highcap,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chE" = (/obj/machinery/door_control{id = "ToxinsVenting"; name = "Toxin Venting Control"; pixel_x = 8; pixel_y = -26},/obj/machinery/ignition_switch{id = "ToxinsIgnitor"; pixel_x = -6; pixel_y = -25},/obj/machinery/computer/general_air_control{frequency = 1222; name = "Bomb Mix Monitor"; sensors = list("burn_sensor" = "Burn Mix")},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chF" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chG" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"chH" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk6"; icon_state = "catwalk6"},/area)
-"chI" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area)
-"chJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area)
-"chK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"chL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"chM" = (/obj/machinery/power/apc{dir = 4; name = "Explosives Testing APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"chN" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber South"; dir = 1; network = list("Toxins")},/obj/machinery/light,/turf/simulated/floor/airless,/area/toxins/test_area)
-"chO" = (/turf/space,/area/vox_station/northwest_solars)
-"chP" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area)
-"chQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"chR" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area)
-"chS" = (/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_on"; on = 1},/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/access_button{command = "cycle_interior"; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 24; pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"chT" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area)
-"chU" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"chV" = (/obj/machinery/light,/obj/machinery/atmospherics/tvalve/mirrored/digital{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"chW" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"chX" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"chY" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"chZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cia" = (/obj/machinery/power/apc{dir = 4; name = "Engineering Maintenance APC"; pixel_x = 27; pixel_y = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cib" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech)
-"cic" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech)
-"cid" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech)
-"cie" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech)
-"cif" = (/turf/simulated/wall,/area/storage/tech)
-"cig" = (/obj/machinery/vending/assist,/turf/simulated/floor/plating,/area/storage/tech)
-"cih" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"cii" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft)
-"cij" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 1; icon_state = "manifold-c"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area)
-"cik" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cil" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cim" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/atmos{name = "Gravity Generator"; req_access_txt = "24"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room)
-"cin" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cio" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/break_room)
-"cip" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/break_room)
-"ciq" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/obj/machinery/light_switch{pixel_x = -5; pixel_y = 27},/obj/machinery/holosign_switch{pixel_x = 5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cir" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cis" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cit" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ciu" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"civ" = (/obj/machinery/body_scanconsole,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ciw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cix" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ciy" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = 5; pixel_y = 27},/obj/machinery/holosign_switch{pixel_x = -5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ciz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ciA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ciB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/xray{c_tag = "Virology Enterance"; network = list("SS13")},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ciC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/light{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ciD" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area)
-"ciE" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ciF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ciG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ciH" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/solar/starboard)
-"ciI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard)
-"ciJ" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/solar/starboard)
-"ciK" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"ciL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"ciM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"ciN" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area)
-"ciO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"ciP" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"ciQ" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
-"ciR" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"ciS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area)
-"ciT" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"ciU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"ciV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
-"ciW" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft)
-"ciX" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/wall/r_wall,/area)
-"ciY" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room)
-"ciZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room)
-"cja" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor,/area/engine/break_room)
-"cjb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room)
-"cjc" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/computer/drone_control,/turf/simulated/floor,/area/engine/break_room)
-"cjd" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area)
-"cje" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room)
-"cjf" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cjg" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor,/area/engine/break_room)
-"cjh" = (/obj/structure/table,/obj/item/weapon/wirecutters,/turf/simulated/floor,/area/engine/break_room)
-"cji" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room)
-"cjj" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cjk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cjl" = (/obj/machinery/door_control{id = "surgeryobs1"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cjm" = (/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cjn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cjo" = (/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"cjp" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cjq" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cjr" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cjs" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cjt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cju" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cjv" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/solar/starboard)
-"cjw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/solar/starboard)
-"cjx" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/solar/starboard)
-"cjy" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/space,/area/toxins/mixing)
-"cjz" = (/turf/space,/area/toxins/mixing)
-"cjA" = (/obj/machinery/vending/snack,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry)
-"cjB" = (/obj/structure/spacepoddoor,/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjF" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjH" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/stack/sheet/plasteel{amount = 10},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Mechanic Workshop APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/weapon/circuitboard/mecha/pod,/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/pod_parts/core,/obj/machinery/camera{c_tag = "Mechanics Shop APC"; dir = 2},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjK" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjL" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cjM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"cjN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjO" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjS" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Mechanic Corridor"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjW" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cjY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"cjZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft)
-"cka" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area)
-"ckb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"ckc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area)
-"ckd" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area)
-"cke" = (/obj/machinery/iv_drip,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cki" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckm" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cko" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ckp" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "55"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ckq" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"ckr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/solar/starboard)
-"cks" = (/turf/simulated/wall/r_wall,/area/toxins/mixing)
-"ckt" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/wall/r_wall,/area/toxins/mixing)
-"cku" = (/obj/machinery/atmospherics/pipe/simple/insulated,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/toxins/mixing)
-"ckv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/toxins/mixing)
-"ckw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk9"; icon_state = "catwalk9"},/area)
-"ckx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"cky" = (/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"ckz" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"ckA" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"ckB" = (/obj/effect/landmark/start{name = "Mechanic"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"ckC" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_engineering{name = "Mechanic Workshop"; req_access_txt = "0"; req_one_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"ckD" = (/turf/simulated/floor,/area/hallway/primary/aft)
-"ckE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"ckF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"ckG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/aft)
-"ckH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"ckI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"ckJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"ckK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"ckL" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/camera{c_tag = "Aft Primary Hallway 1"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft)
-"ckM" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area)
-"ckN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room)
-"ckO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/recharge_station,/turf/simulated/floor,/area/engine/break_room)
-"ckP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room)
-"ckQ" = (/obj/machinery/computer/arcade,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room)
-"ckR" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/engine/break_room)
-"ckS" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room)
-"ckT" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area)
-"ckU" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/atmos)
-"ckV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/device/t_scanner,/obj/item/weapon/book/manual/atmospipes,/turf/simulated/floor,/area/atmos)
-"ckW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor,/area/atmos)
-"ckX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"ckY" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"ckZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cla" = (/obj/machinery/computer/operating,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"clb" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"clc" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/FixOVein,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cld" = (/obj/machinery/computer/operating,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cle" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"clf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"clg" = (/obj/structure/sign/biohazard,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"clh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"cli" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = -11; pixel_y = -22},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"clj" = (/obj/machinery/smartfridge,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clk" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cll" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clm" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cln" = (/obj/machinery/door/airlock/research{name = "Xenobiology Flora Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clo" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clp" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cls" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology)
-"clt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"clu" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Xenobiology Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/xenobiology)
-"clv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/turf/simulated/floor/plating,/area/solar/starboard)
-"clw" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine,/area/toxins/mixing)
-"clx" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor/engine,/area/toxins/mixing)
-"cly" = (/obj/machinery/igniter{icon_state = "igniter0"; id = "ToxinsIgnitor"; on = 0},/turf/simulated/floor/engine,/area/toxins/mixing)
-"clz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clC" = (/obj/machinery/door_control{id = "mechpod"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clG" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
-"clH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"clI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clL" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/assembly_line)
-"clM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 6},/turf/simulated/floor,/area/hallway/primary/aft)
-"clQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"clR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft)
-"clS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"clT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"clU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room)
-"clV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor{dir = 1; icon_state = "caution"},/area/engine/break_room)
-"clW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering Foyer"},/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/break_room)
-"clX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/break_room)
-"clY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/break_room)
-"clZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cma" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"cmb" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/atmos)
-"cmc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/atmos)
-"cmd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos)
-"cme" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cmf" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmg" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmh" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmi" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cmk" = (/obj/machinery/requests_console{announcementConsole = 1; department = "NT Representative"; departmentType = 5; name = "NT Rep Requests Console"; pixel_x = -30},/turf/simulated/floor/wood,/area/ntrep)
-"cml" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmm" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmn" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmp" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmq" = (/obj/machinery/botany/editor,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area)
-"cms" = (/obj/machinery/door/airlock/research{name = "Xenobiology Flora Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmt" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology)
-"cmu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cmv" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology)
-"cmw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/solar/starboard)
-"cmx" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/engine,/area/toxins/mixing)
-"cmy" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine,/area/toxins/mixing)
-"cmz" = (/obj/machinery/air_sensor{frequency = 1222; id_tag = "burn_sensor"},/turf/simulated/floor/engine,/area/toxins/mixing{requires_power = 0})
-"cmA" = (/obj/machinery/atmospherics/pipe/vent/high_volume{dir = 1},/turf/simulated/floor/engine,/area/toxins/mixing)
-"cmB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cmC" = (/obj/machinery/door/airlock/maintenance{icon_state = "door_locked"; locked = 1; name = "Assembly Line Maintenance"; req_access_txt = "32"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cmD" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Assembly Line Delivery"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/assembly_line)
-"cmE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"cmF" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cmG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/aft)
-"cmH" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/aft)
-"cmI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft)
-"cmJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft)
-"cmK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/hallway/primary/aft)
-"cmL" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cmM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cmN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/nations{name = "Atmosia"},/turf/simulated/floor,/area/engine/break_room)
-"cmO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cmP" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"cmQ" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/atmos)
-"cmR" = (/turf/simulated/floor,/area/atmos)
-"cmS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cmT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "24"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cmU" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmV" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmX" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/machinery/camera{c_tag = "Surgery 1"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmY" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cmZ" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cna" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cnb" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/machinery/camera{c_tag = "Surgery 2"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cnc" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cnd" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
-"cne" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/medbay2)
-"cnf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/medbay2)
-"cng" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/medbay2)
-"cnh" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cni" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnj" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; icon_state = "intact_off"; name = "Isolation Tray to Waste"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnl" = (/obj/machinery/botany/extractor,/obj/machinery/camera{c_tag = "Virology Starboard"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnm" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cnn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cno" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cnp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"cnq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology)
-"cnr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cns" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnt" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology)
-"cnu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cnv" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology)
-"cnw" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"cnx" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/starboard)
-"cny" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine,/area/toxins/mixing)
-"cnz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/engine,/area/toxins/mixing)
-"cnA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/engine,/area/toxins/mixing)
-"cnB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cnC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"cnD" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/assembly_line)
-"cnF" = (/obj/item/weapon/camera_assembly,/turf/simulated/floor,/area/assembly/assembly_line)
-"cnG" = (/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line)
-"cnH" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cnJ" = (/obj/structure/table,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnK" = (/obj/structure/table,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnL" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnM" = (/turf/simulated/wall,/area/assembly/assembly_line)
-"cnN" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnO" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/assembly_line)
-"cnP" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnQ" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cnR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cnS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 4},/turf/simulated/floor,/area/hallway/primary/aft)
-"cnT" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft)
-"cnU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"cnV" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/hallway/primary/aft)
-"cnW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area)
-"cnX" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/engine/break_room)
-"cnY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cnZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area)
-"coa" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/atmos)
-"cob" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos)
-"coc" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cod" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"coe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cof" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cog" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"coh" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/medbay2)
-"coi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/medbay2)
-"coj" = (/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/medbay2)
-"cok" = (/obj/machinery/light,/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"col" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"com" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/analyzer/plant_analyzer,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/minihoe,/obj/item/weapon/minihoe,/obj/item/weapon/wirecutters,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"con" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness)
-"coo" = (/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cop" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"coq" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cor" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cos" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cot" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cou" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area)
-"cov" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -28; pixel_y = 8; req_access_txt = "55"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cow" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard)
-"cox" = (/obj/machinery/door/poddoor{id = "ToxinsVenting"; name = "Toxins Venting Bay Door"; use_power = 0},/turf/simulated/floor/engine,/area/toxins/mixing)
-"coy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"coz" = (/obj/item/stack/cable_coil,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/assembly/assembly_line)
-"coC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"coF" = (/obj/item/apc_frame,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"coG" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coH" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coI" = (/obj/machinery/door/airlock/glass_engineering{icon_state = "door_locked"; locked = 1; name = "Assembly Line (KEEP OUT)"; req_access_txt = "32"; req_one_access_txt = "0"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"coJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"coK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/aft)
-"coL" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/hallway/primary/aft)
-"coM" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Engineering Foyer APC"; pixel_x = -24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/engine/break_room)
-"coN" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor,/area/engine/break_room)
-"coO" = (/obj/structure/table,/turf/simulated/floor,/area/engine/break_room)
-"coP" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor,/area/engine/break_room)
-"coQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room)
-"coR" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/firedoor/border_only{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"coS" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"coT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; icon_state = "manifold-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"coU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"coV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos)
-"coW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area)
-"coX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 2; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"coY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"coZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpa" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 1; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpc" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-b (EAST)"; name = "pipe manifold"; icon_state = "manifold-b"; dir = 4; level = 1; _color = "blue"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpf" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"cpg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"cph" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/xenobiology)
-"cpi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpk" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/camera{c_tag = "Xenobiology Module North"; dir = 2; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpl" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; tag_interior_door = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/toxins/xenobiology)
-"cpm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/toxins/xenobiology)
-"cpn" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/toxins/xenobiology)
-"cpo" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpp" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port)
-"cpq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/port)
-"cpr" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port)
-"cps" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area)
-"cpt" = (/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cpu" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cpv" = (/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cpw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/barricade/wooden,/turf/simulated/floor/plating,/area)
-"cpx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"cpy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"cpz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/aft)
-"cpA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 7},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/engine/break_room)
-"cpB" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cpC" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engine/break_room)
-"cpD" = (/obj/effect/landmark/start{name = "Life Support Specialist"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor,/area/engine/break_room)
-"cpE" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cpF" = (/obj/machinery/space_heater,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/atmos)
-"cpG" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/space_heater,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/atmos)
-"cpH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/space_heater,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos)
-"cpI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/atmos)
-"cpJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"cpK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"cpM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area)
-"cpN" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cpO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cpU" = (/turf/space,/area/xenos_station/southwest)
-"cpV" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port)
-"cpW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"cpX" = (/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cpY" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cpZ" = (/obj/machinery/conveyor_switch{id = "Skynet_heavy"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cqa" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cqb" = (/turf/simulated/floor/plating{desc = "
There is some old writing on this floor. You are barely able to read out a few lines from a tangled scribble.
In a chamber a great mirror lies, cut away it solemn cries. Travel bold as thou might, piercing vastness as a kite.
HONK!
"; name = "Old Note #6"},/area/assembly/assembly_line)
-"cqc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/assembly/assembly_line)
-"cqd" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/barricade/wooden,/turf/simulated/floor{icon_state = "floorgrime"},/area)
-"cqe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"cqf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft)
-"cqg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft)
-"cqh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area)
-"cqi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/engine/break_room)
-"cqj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cqk" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor,/area/engine/break_room)
-"cql" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/engine/break_room)
-"cqm" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/atmos)
-"cqn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"cqo" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/medbay2)
-"cqp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/medbay2)
-"cqq" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/medbay2)
-"cqr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"cqs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cqt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cqu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cqv" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cqw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cqx" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cqy" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/starboard)
-"cqz" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
-"cqA" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk11"; icon_state = "catwalk11"},/area/solar/starboard)
-"cqB" = (/obj/structure/closet,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cqC" = (/turf/simulated/floor,/area/assembly/assembly_line)
-"cqD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/assembly_line)
-"cqE" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line)
-"cqF" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line)
-"cqG" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line)
-"cqH" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line)
-"cqI" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line)
-"cqJ" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Assembly Line East"; dir = 1},/turf/simulated/floor,/area/assembly/assembly_line)
-"cqK" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line)
-"cqL" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cqM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cqO" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cqP" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
-"cqQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area)
-"cqR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/floor,/area/engine/break_room)
-"cqS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cqT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room)
-"cqU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cqV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room)
-"cqW" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"cqX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room)
-"cqY" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/vending/cigarette,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cqZ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"},/area/atmos)
-"cra" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "bot"},/area/atmos)
-"crb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"},/area/atmos)
-"crc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/atmos)
-"crd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"cre" = (/obj/machinery/pipedispenser,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/atmos)
-"crf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos)
-"crg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/obj/machinery/light{dir = 1},/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/turf/simulated/floor,/area/atmos)
-"crh" = (/obj/machinery/camera{c_tag = "Atmospherics North East"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Distro to Waste"; on = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"cri" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 2; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b"},/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/turf/simulated/floor,/area/atmos)
-"crj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor,/area/atmos)
-"crk" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 8; name = "Air To Distro"},/turf/simulated/floor,/area/atmos)
-"crl" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/turf/simulated/floor,/area/atmos)
-"crm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/atmos)
-"crn" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cro" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "39"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"crp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"crq" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"crr" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/beakers{pixel_x = -1; pixel_y = -1; pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"crs" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"crt" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cru" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"crv" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area)
-"crw" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area)
-"crx" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard)
-"cry" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/aft)
-"crz" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line)
-"crA" = (/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line)
-"crB" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line)
-"crC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft)
-"crD" = (/obj/structure/sign/securearea,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crE" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room)
-"crF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crJ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room)
-"crK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area)
-"crL" = (/obj/machinery/camera{c_tag = "Atmospherics North West"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"},/area/atmos)
-"crM" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor,/area/atmos)
-"crN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos)
-"crO" = (/obj/machinery/atmospherics/binary/volume_pump/on{name = "Waste In"},/turf/simulated/floor,/area/atmos)
-"crP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos)
-"crQ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Mix to Distro"; on = 0},/turf/simulated/floor,/area/atmos)
-"crR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 8; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"crS" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"crT" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos)
-"crU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology)
-"crV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"crW" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Virology Airlock"; network = list("SS13")},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Virology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology)
-"crX" = (/obj/structure/sign/deathsposal,/turf/simulated/wall/r_wall,/area)
-"crY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"crZ" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"csa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"csb" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"csc" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"csd" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cse" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"csf" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"csg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/smartfridge/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/toxins/xenobiology)
-"csh" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/toxins/xenobiology)
-"csi" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/toxins/xenobiology)
-"csj" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard)
-"csk" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"csl" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line)
-"csm" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line)
-"csn" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line)
-"cso" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
-"csp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
-"csq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"csr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
-"css" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cst" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft)
-"csu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/wall,/area)
-"csv" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/plating,/area/maintenance/aft)
-"csw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Engineering Storage West"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room)
-"csx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"csy" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/turf/simulated/floor,/area/engine/break_room)
-"csz" = (/obj/machinery/camera{c_tag = "Engineering Access"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engine/break_room)
-"csA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/break_room)
-"csB" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engine/break_room)
-"csC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/pipedispenser,/turf/simulated/floor,/area/engine/break_room)
-"csD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"csE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos)
-"csF" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos)
-"csG" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos)
-"csH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos)
-"csI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/atmos)
-"csJ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "bot"},/area/atmos)
-"csK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"csL" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Mix to Filter"; on = 0},/turf/simulated/floor,/area/atmos)
-"csM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 1; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"csN" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"csO" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"csP" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Air to Mix"; on = 0},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"csQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Gas Mix Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/atmos)
-"csR" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"csS" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/space,/area)
-"csT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos)
-"csU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"csV" = (/obj/machinery/camera{c_tag = "Atmospherics Waste Tank"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"csW" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"csX" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology)
-"csY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"csZ" = (/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology)
-"cta" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctb" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/virology)
-"ctc" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctd" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cte" = (/obj/machinery/computer/centrifuge,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctf" = (/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctg" = (/obj/structure/reagent_dispensers/virusfood{pixel_x = 32},/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cth" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cti" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctj" = (/obj/machinery/camera{c_tag = "Virology Monkey Pen"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctl" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"ctm" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ctn" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/stack/sheet/mineral/plasma{amount = 5; layer = 2.9},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cto" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ctp" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/toxins/xenobiology)
-"ctq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/toxins/xenobiology)
-"ctr" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard)
-"cts" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard)
-"ctt" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port)
-"ctu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"ctv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"ctw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"ctx" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cty" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"ctz" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"ctA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"ctB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"ctC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"ctD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"ctE" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line)
-"ctF" = (/obj/machinery/computer/operating{icon_state = "operatingb"; name = "Robotics Operating Computer"; stat = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line)
-"ctG" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room)
-"ctH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engine/break_room)
-"ctI" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Engineering Storage East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"ctJ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/atmos)
-"ctK" = (/obj/machinery/atmospherics/trinary/filter{density = 0},/turf/simulated/floor,/area/atmos)
-"ctL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/atmos)
-"ctM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"ctN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/atmos)
-"ctO" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos)
-"ctP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "green"; dir = 1; icon_state = "manifold-g"; level = 2; tag = "icon-manifold-g (NORTH)"},/turf/simulated/floor,/area/atmos)
-"ctQ" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-g (EAST)"; icon_state = "manifold-g"; dir = 4; level = 2; _color = "green"},/turf/simulated/floor,/area/atmos)
-"ctR" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/atmos)
-"ctS" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ctT" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/atmos)
-"ctU" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"ctV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"ctW" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology)
-"ctX" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology)
-"ctY" = (/obj/structure/table,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/gloves,/obj/machinery/requests_console{pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctZ" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cua" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cub" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cuc" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Virologist"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cud" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cue" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area)
-"cuf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cug" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cuh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"cui" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cuj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cuk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cul" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cum" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cun" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/monkey_recycler,/turf/simulated/floor,/area/toxins/xenobiology)
-"cuo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/toxins/xenobiology)
-"cup" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor,/area/toxins/xenobiology)
-"cuq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/starboard)
-"cur" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
-"cus" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
-"cut" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/starboard)
-"cuu" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
-"cuv" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
-"cuw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/starboard)
-"cux" = (/turf/simulated/floor/plating/airless,/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/port)
-"cuy" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port)
-"cuz" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port)
-"cuA" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/port)
-"cuB" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port)
-"cuC" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port)
-"cuD" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/port)
-"cuE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuK" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cuL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cuM" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cuN" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table,/obj/item/weapon/book/manual/engineering_hacking{pixel_x = 3; pixel_y = 3},/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/engineering)
-"cuO" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/engine/engineering)
-"cuP" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering)
-"cuQ" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering)
-"cuR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering)
-"cuS" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering)
-"cuT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/engine/engineering)
-"cuU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering Storage APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering)
-"cuV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering)
-"cuW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area)
-"cuX" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cuY" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cuZ" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cva" = (/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 10; pixel_y = 24; req_access_txt = "24"},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -10; pixel_y = 24; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 0; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cvb" = (/obj/machinery/computer/atmos_alert,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cvc" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cvd" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cve" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos)
-"cvf" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos)
-"cvg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"cvh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cvi" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_atmos{name = "Distribution Loop"; req_access_txt = "24"},/turf/simulated/floor,/area/atmos)
-"cvj" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cvk" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 6; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"cvl" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 9; icon_state = "intact-y"; level = 2; tag = "icon-intact-y (NORTHWEST)"},/turf/simulated/floor,/area/atmos)
-"cvm" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Pure to Mix"; on = 0},/turf/simulated/floor,/area/atmos)
-"cvn" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-g (NORTHEAST)"; icon_state = "intact-g"; dir = 5; level = 2; initialize_directions = 12; _color = "green"},/turf/simulated/floor,/area/atmos)
-"cvo" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Unfiltered to Mix"; on = 0},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; initialize_directions = 12; level = 2},/turf/simulated/floor,/area/atmos)
-"cvp" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Gas Mix Inlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/atmos)
-"cvq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cvr" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/space,/area)
-"cvs" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "waste_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
-"cvt" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Interior Access"; pixel_x = 28; pixel_y = 8; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvu" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Virology Port"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvv" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvD" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cvG" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cvH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cvI" = (/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cvJ" = (/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 8; network = list("RD"); pixel_y = -22},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cvK" = (/obj/structure/cable,/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard)
-"cvL" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port)
-"cvM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"cvN" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cvO" = (/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cvP" = (/obj/machinery/power/apc{dir = 4; name = "Aft Port Solar APC"; pixel_x = 23; pixel_y = 2},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"cvQ" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cvR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cvS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cvT" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor,/area/engine/engineering)
-"cvU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/engineering)
-"cvV" = (/turf/simulated/floor,/area/engine/engineering)
-"cvW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cvX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cvY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering)
-"cvZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/engine/engineering)
-"cwa" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cwb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area)
-"cwc" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cwd" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cwe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cwf" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/stool/bed/chair/office/light,/obj/effect/landmark/start{name = "Chief Engineer"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cwg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cwh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area)
-"cwi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/engine/break_room)
-"cwj" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engine/break_room)
-"cwk" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/engine/break_room)
-"cwl" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cwm" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 1},/turf/simulated/floor,/area/atmos)
-"cwn" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos)
-"cwo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/turf/simulated/floor,/area/atmos)
-"cwp" = (/turf/simulated/wall,/area/atmos)
-"cwq" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/obj/structure/sign/nosmoking_2,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cwr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cws" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cwt" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cwu" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cwv" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos)
-"cww" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cwx" = (/obj/machinery/vending/coffee,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwz" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "virology_airlock_exterior"; id_tag = "virology_airlock_control"; tag_interior_door = "virology_airlock_interior"; name = "Virology Access Console"; pixel_x = -8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Lab"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/machinery/camera{c_tag = "Virology Starboard"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwH" = (/obj/structure/extinguisher_cabinet,/turf/simulated/wall/r_wall,/area)
-"cwI" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cwJ" = (/obj/machinery/camera{c_tag = "Xenobiology Module South"; dir = 4; network = list("SS13"); pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cwK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwP" = (/obj/machinery/light{dir = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwQ" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 27},/obj/machinery/computer/reconstitutor,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cwR" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port)
-"cwS" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"cwT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cwU" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cwV" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cwW" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/maintenance/aft)
-"cwX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/engine/engineering)
-"cwY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering)
-"cwZ" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering)
-"cxa" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cxb" = (/obj/machinery/vending/tool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cxc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cxd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cxe" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cxf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cxg" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cxh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cxi" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/pen,/obj/item/weapon/lighter/zippo,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cxj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cxk" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/break_room)
-"cxl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxn" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxo" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cxr" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cxs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area)
-"cxt" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/light_switch{pixel_x = -27},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos)
-"cxu" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos)
-"cxv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "External to Filter"},/turf/simulated/floor,/area/atmos)
-"cxw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cxx" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"cxy" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-r (EAST)"; icon_state = "manifold-r"; dir = 4; level = 2; _color = "red"},/turf/simulated/floor,/area/atmos)
-"cxz" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/atmos)
-"cxA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cxB" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cxC" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 6; icon_state = "intact-y"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cxD" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"cxE" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "N2O to Pure"; on = 0},/turf/simulated/floor,/area/atmos)
-"cxF" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 5},/area/atmos)
-"cxG" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cxH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine,/area/atmos)
-"cxI" = (/turf/simulated/floor/engine,/area/atmos)
-"cxJ" = (/obj/structure/closet/l3closet/virology,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cxK" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cxL" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cxM" = (/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cxN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"cxO" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cxP" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cxQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"cxZ" = (/turf/space,/area/vox_station/southeast_solars)
-"cya" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door/airlock/maintenance{name = "Engineering Maintainance"; req_access_txt = "10"; req_one_access_txt = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cyb" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/engine/engineering)
-"cyc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering)
-"cyd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/engine/engineering)
-"cye" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering)
-"cyf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/engineering)
-"cyg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering)
-"cyh" = (/obj/machinery/camera{c_tag = "Chief Engineer's Office"; dir = 4; network = list("SS13")},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cyi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cyj" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cyk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cyl" = (/obj/machinery/power/apc{dir = 4; name = "CE Office APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
-"cym" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor,/area/engine/break_room)
-"cyn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/break_room)
-"cyo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/break_room)
-"cyp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room)
-"cyq" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room)
-"cyr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; initialize_directions = 12; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cys" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyt" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; name = "Air to External"; on = 1},/turf/simulated/floor,/area/atmos)
-"cyu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyv" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos)
-"cyw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyx" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyy" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Air to Port"; on = 0},/turf/simulated/floor,/area/atmos)
-"cyz" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Mix to Port"; on = 0},/turf/simulated/floor,/area/atmos)
-"cyA" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Pure to Port"; on = 0},/turf/simulated/floor,/area/atmos)
-"cyB" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyC" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos)
-"cyD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/turf/simulated/floor{icon_state = "escape"; dir = 4},/area/atmos)
-"cyE" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/atmos)
-"cyF" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine,/area/atmos)
-"cyG" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller{valve_open = 0; volume = 1e+006},/turf/simulated/floor/engine,/area/atmos)
-"cyH" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine,/area/atmos)
-"cyI" = (/obj/structure/closet/wardrobe/virology_white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyJ" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/device/antibody_scanner,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Virologist"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"cyO" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area)
-"cyQ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "hydrofloor"},/area/toxins/xenobiology)
-"cyR" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyT" = (/obj/machinery/light,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyV" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyX" = (/obj/machinery/light,/obj/structure/closet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology)
-"cyY" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = "55"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology)
-"cyZ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/starboard)
-"cza" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czc" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter SMES"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czd" = (/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cze" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Supermatter Hallway"},/turf/simulated/floor,/area/engine/reactor_core)
-"czf" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"czj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/reactor_core)
-"czk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"czl" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"czm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"czn" = (/obj/structure/table,/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/glasses/welding,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering)
-"czo" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/engine/engineering)
-"czp" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/engine/engineering)
-"czq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area)
-"czr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"czs" = (/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/chiefs_office)
-"czt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"czu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"czv" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room)
-"czw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"czx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"czy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area)
-"czz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area)
-"czA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/table,/obj/item/clothing/head/welding{pixel_x = 1; pixel_x = -5; pixel_y = 3},/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = 0; pixel_x = -5; pixel_y = 3},/turf/simulated/floor,/area/atmos)
-"czB" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/item/device/pipe_painter,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/atmos)
-"czC" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/turf/simulated/floor,/area/atmos)
-"czD" = (/obj/machinery/atmospherics/tvalve/mirrored/digital,/turf/simulated/floor,/area/atmos)
-"czE" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste to Port"},/turf/simulated/floor,/area/atmos)
-"czF" = (/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor,/area/atmos)
-"czG" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/turf/simulated/floor,/area/atmos)
-"czH" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor,/area/atmos)
-"czI" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; filter_type = 4; icon_state = "intact_on"; name = "Gas filter (N2O tank)"; on = 1},/turf/simulated/floor,/area/atmos)
-"czJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/atmos)
-"czK" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"czL" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "n2o_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine,/area/atmos)
-"czM" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czN" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Virology Break/Access"; dir = 8; network = list("SS13")},/obj/structure/stool/bed,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czP" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czQ" = (/obj/machinery/disease2/diseaseanalyser,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czR" = (/obj/machinery/computer/diseasesplicer,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czS" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czT" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/vials,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czU" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area)
-"czX" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czY" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"czZ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless,/area)
-"cAa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAb" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cAd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cAe" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cAg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cAh" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area)
-"cAj" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core)
-"cAk" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/reactor_core)
-"cAl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cAm" = (/turf/simulated/floor,/area/engine/reactor_core)
-"cAn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cAo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cAp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cAq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/power/apc{dir = 2; name = "Supermatter APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core)
-"cAr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/engineering)
-"cAs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/monitor,/turf/simulated/floor,/area/engine/engineering)
-"cAt" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engine/engineering)
-"cAu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"cAv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"cAw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cAx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering)
-"cAy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering)
-"cAz" = (/obj/machinery/camera{c_tag = "Engineering East"},/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/engine/engineering)
-"cAA" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering)
-"cAB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering)
-"cAC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cAD" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering)
-"cAE" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering)
-"cAF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"cAG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/atmos)
-"cAH" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Port to Filter"; on = 0},/turf/simulated/floor,/area/atmos)
-"cAI" = (/obj/machinery/atmospherics/valve,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/atmos)
-"cAJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/atmos)
-"cAK" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos)
-"cAL" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos)
-"cAM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cAN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/space,/area)
-"cAO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area)
-"cAP" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"cAQ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"cAR" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"cAS" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"cAT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area)
-"cAU" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cAW" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard)
-"cAX" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/port)
-"cAY" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/obj/machinery/camera{c_tag = "Supermatter SMES"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/engine/reactor_core)
-"cAZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cBa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Engine Access"; req_access_txt = "11"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cBb" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Monitoring"; req_access_txt = "11"},/turf/simulated/floor,/area/engine/reactor_core)
-"cBc" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering)
-"cBd" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/engineering)
-"cBe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cBf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cBg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering)
-"cBh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/engine/engineering)
-"cBi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering)
-"cBj" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering)
-"cBk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering)
-"cBl" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering)
-"cBm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cBn" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering)
-"cBo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"cBp" = (/turf/simulated/floor/plating,/area/engine/engineering)
-"cBq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/engine/engineering)
-"cBr" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos)
-"cBs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos)
-"cBt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/atmos)
-"cBu" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cBv" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos)
-"cBw" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/atmos)
-"cBx" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cBy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 8; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos)
-"cBz" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Plasma to Pure"; on = 0},/turf/simulated/floor,/area/atmos)
-"cBA" = (/obj/machinery/camera{c_tag = "Atmospherics East"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Plasma Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos)
-"cBB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/space,/area)
-"cBC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cBD" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cBE" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cBF" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"cBG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating/airless,/area)
-"cBH" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cBI" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cBJ" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core)
-"cBK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engine/reactor_core)
-"cBL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cBM" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor,/area/engine/reactor_core)
-"cBN" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the supermatter core."; name = "Supermatter Monitor"; network = list("Supermatter"); pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/reactor_core)
-"cBO" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor,/area/engine/reactor_core)
-"cBP" = (/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor,/area/engine/reactor_core)
-"cBQ" = (/obj/machinery/driver_button{id = "enginecore"; pixel_x = 25},/obj/machinery/door/window/westleft,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; pixel_x = 10; tag = ""},/turf/simulated/floor{icon_state = "freezerfloor"},/area/engine/reactor_core)
-"cBR" = (/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "Engineering Secure Storage"; dir = 4; network = list("SS13")},/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/storage/secure)
-"cBS" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/storage/secure)
-"cBT" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/storage/secure)
-"cBU" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/storage/secure)
-"cBV" = (/obj/machinery/camera{c_tag = "Engineering West"; dir = 4; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/dispenser,/turf/simulated/floor,/area/engine/engineering)
-"cBW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering)
-"cBX" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/engineering)
-"cBY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area)
-"cBZ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area)
-"cCa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"cCb" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cCc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"cCd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area)
-"cCe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area)
-"cCf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area)
-"cCg" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering)
-"cCh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area)
-"cCi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/engine/engineering)
-"cCj" = (/obj/machinery/camera{c_tag = "Atmospherics West"; dir = 4; network = list("SS13")},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos)
-"cCk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos)
-"cCl" = (/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cCm" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Toxin Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos)
-"cCn" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area)
-"cCo" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cCp" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cCq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cCr" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cCs" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/starboard)
-"cCt" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area)
-"cCu" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engine/reactor_core)
-"cCv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
-"cCw" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/medical/sleeper)
-"cCx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/power/apc{dir = 4; name = "Disposals APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/disposal)
-"cCy" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engine/reactor_core)
-"cCz" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Supermatter Monitoring"; dir = 1; network = list("SS13")},/obj/machinery/computer/general_air_control{frequency = 1443; name = "Supermatter Gas Mix Monitoring"; sensors = list("supermatter_gas" = "Supermatter Gas Mix")},/turf/simulated/floor,/area/engine/reactor_core)
-"cCA" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core)
-"cCB" = (/obj/machinery/shield_gen,/turf/simulated/floor/plating,/area/storage/secure)
-"cCC" = (/turf/simulated/floor/plating,/area/storage/secure)
-"cCD" = (/obj/machinery/door/poddoor{id = "Secure Storage"; name = "Secure Storage"},/turf/simulated/floor/plating,/area/storage/secure)
-"cCE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering)
-"cCF" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering)
-"cCG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering)
-"cCH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"cCI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"cCJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Engineering Center"; dir = 2; pixel_x = 23},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"cCK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/engine/engineering)
-"cCL" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "yellow"},/area/engine/engineering)
-"cCM" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/engine/engineering)
-"cCN" = (/obj/machinery/camera{c_tag = "Engineering SMES"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"cCO" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/firecloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/engine/break_room)
-"cCP" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos)
-"cCQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos)
-"cCR" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cCS" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; icon_state = "intact_on"; name = "Gas filter (Toxins tank)"; on = 1},/turf/simulated/floor,/area/atmos)
-"cCT" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/atmos)
-"cCU" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area)
-"cCV" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "tox_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
-"cCW" = (/obj/machinery/door/poddoor{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
-"cCX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Engine Access"; req_access_txt = "11"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cCY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor/plating,/area/storage/secure)
-"cCZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDa" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDc" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engine/engineering)
-"cDg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering)
-"cDh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDi" = (/obj/structure/particle_accelerator/end_cap,/turf/simulated/floor/plating,/area/engine/engineering)
-"cDj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering)
-"cDk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering)
-"cDl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/engine/engineering)
-"cDn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cDo" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering)
-"cDp" = (/obj/machinery/door/airlock/external{name = "Engineering Escape Pod"; req_access = null; req_access_txt = "10"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/engine/engineering)
-"cDq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/atmos)
-"cDr" = (/obj/machinery/portable_atmospherics/pump,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cDs" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Port to Filter"; on = 0},/turf/simulated/floor,/area/atmos)
-"cDt" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos)
-"cDu" = (/obj/machinery/camera{c_tag = "Atmospherics Central"; dir = 8; network = list("SS13")},/turf/simulated/floor,/area/atmos)
-"cDv" = (/turf/simulated/floor/plating/airless,/area/toxins/xenobiology)
-"cDw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 1; dir = 2; on = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDx" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 1; dir = 2; on = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDy" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDz" = (/obj/machinery/light{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDB" = (/obj/machinery/power/apc{dir = 1; name = "Engine Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDD" = (/obj/machinery/camera{c_tag = "Supermatter Core"; dir = 2; network = list("Supermatter")},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 29},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDG" = (/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDH" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cDI" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/storage/secure)
-"cDJ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/secure)
-"cDK" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/storage/secure)
-"cDL" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDM" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_west_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDO" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/clothing/glasses/meson,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDS" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering)
-"cDT" = (/obj/machinery/particle_accelerator/control_box,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering)
-"cDU" = (/obj/structure/particle_accelerator/fuel_chamber,/turf/simulated/floor/plating,/area/engine/engineering)
-"cDV" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering)
-"cDW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cDZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cEa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cEb" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering)
-"cEc" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engineering)
-"cEd" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/atmos)
-"cEe" = (/obj/machinery/space_heater,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cEf" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/obj/item/weapon/cigbutt,/turf/simulated/floor,/area/atmos)
-"cEg" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor,/area/atmos)
-"cEh" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "CO2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos)
-"cEi" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "yellow"},/area/atmos)
-"cEj" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area)
-"cEk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cEl" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cEm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 8; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEu" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEv" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEx" = (/obj/machinery/field_generator,/turf/simulated/floor/plating,/area/storage/secure)
-"cEy" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/storage/secure)
-"cEz" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/wall,/area/engine/engineering)
-"cEA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_west_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cEB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering)
-"cEC" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cED" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/crowbar,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering)
-"cEE" = (/obj/structure/stool,/turf/simulated/floor,/area/engine/engineering)
-"cEF" = (/obj/structure/particle_accelerator/power_box,/turf/simulated/floor/plating,/area/engine/engineering)
-"cEG" = (/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/engine/engineering)
-"cEH" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cEI" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/wall,/area)
-"cEJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/obj/machinery/power/apc{dir = 8; name = "Atmospherics APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/atmos)
-"cEK" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/atmos)
-"cEL" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cEM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cEN" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cEO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/turf/simulated/floor,/area/atmos)
-"cEP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_off"; name = "N2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos)
-"cEQ" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/atmos)
-"cER" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cES" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cET" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cEU" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/starboard)
-"cEV" = (/turf/space,/area/vox_station/southwest_solars)
-"cEW" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 1},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEX" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEY" = (/obj/machinery/power/rad_collector{anchored = 0; dir = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cEZ" = (/obj/machinery/power/rad_collector,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFa" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_west_pump"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFe" = (/obj/structure/cable,/obj/machinery/power/rad_collector{anchored = 1},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFf" = (/obj/structure/cable,/obj/machinery/power/rad_collector{anchored = 1},/obj/item/weapon/tank/plasma,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFg" = (/obj/machinery/power/rad_collector{anchored = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFh" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering)
-"cFi" = (/obj/structure/particle_accelerator/particle_emitter/left,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFj" = (/obj/structure/particle_accelerator/particle_emitter/center,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFk" = (/obj/structure/particle_accelerator/particle_emitter/right,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFl" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/engine/engineering)
-"cFm" = (/turf/simulated/wall/r_wall,/area/engine/engineering)
-"cFn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFo" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/external{name = "Engineering Escape Pod"; req_access = null; req_access_txt = "24"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/atmos)
-"cFq" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos)
-"cFr" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/atmos)
-"cFs" = (/obj/structure/stool,/turf/simulated/floor,/area/atmos)
-"cFt" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos)
-"cFu" = (/obj/machinery/atmospherics/trinary/mixer{dir = 4; icon_state = "intact_on"; name = "Gas mixer (N2/O2)"; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; target_pressure = 4500},/turf/simulated/floor,/area/atmos)
-"cFv" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "O2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos)
-"cFw" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; filter_type = 3; icon_state = "intact_on"; name = "Gas filter (CO2 tank)"; on = 1},/turf/simulated/floor,/area/atmos)
-"cFx" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/atmos)
-"cFy" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "co2_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"cFz" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 2; name = "pipe"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_west_pump"; tag_exterior_door = "engineering_west_outer"; frequency = 1379; id_tag = "engineering_west_airlock"; tag_interior_door = "engineering_west_inner"; pixel_x = 25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_west_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_west_sensor"; pixel_x = 25; pixel_y = 12},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area)
-"cFF" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area)
-"cFG" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering)
-"cFH" = (/obj/item/weapon/wirecutters,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
-"cFI" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engineering)
-"cFJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area)
-"cFK" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_east_pump"; tag_exterior_door = "engineering_east_outer"; frequency = 1379; id_tag = "engineering_east_airlock"; tag_interior_door = "engineering_east_inner"; pixel_x = -25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_east_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_east_sensor"; pixel_x = -25; pixel_y = 12},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_east_pump"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFM" = (/obj/machinery/camera{c_tag = "Atmospherics South West"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos)
-"cFN" = (/obj/structure/table,/obj/item/pipe,/obj/item/weapon/wrench,/turf/simulated/floor,/area/atmos)
-"cFO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"cFP" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/atmos)
-"cFQ" = (/turf/space,/area/xenos_station/southeast)
-"cFR" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFS" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/emitter{anchored = 1; state = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFW" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cFX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_west_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cFY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cFZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGa" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering)
-"cGc" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r"; level = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/atmos)
-"cGd" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos)
-"cGe" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor,/area/atmos)
-"cGf" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos)
-"cGg" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos)
-"cGh" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/turf/simulated/floor,/area/atmos)
-"cGi" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; initialize_directions = 12; level = 2},/turf/simulated/floor,/area/atmos)
-"cGj" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 9; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos)
-"cGk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cGl" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGn" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 1; icon_state = "manifold-y"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/tvalve/digital{dir = 8; icon_state = "tvalve1"; state = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core)
-"cGq" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core)
-"cGr" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core)
-"cGs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core)
-"cGt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 8; filter_type = 1; on = 1; req_access = list(10); target_pressure = 4500},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 8; on = 1; req_access = list(10); target_pressure = 4500},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 10},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGw" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cGx" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_west_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/emp_proof{c_tag = "Singularity North-West"; dir = 2; network = list("Singularity"); pixel_x = 20; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGB" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North East"; dir = 2; network = list("Singularity")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGC" = (/obj/item/weapon/wrench,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = 20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGD" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cGE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/engine/engineering)
-"cGF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos)
-"cGG" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/atmos)
-"cGH" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "red"},/area/atmos)
-"cGI" = (/obj/machinery/atmospherics/valve/digital{name = "Nitrogen Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/atmos)
-"cGJ" = (/obj/machinery/light,/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos)
-"cGK" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/atmos)
-"cGL" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/atmos)
-"cGM" = (/obj/machinery/atmospherics/valve/digital{name = "Oxygen Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/atmos)
-"cGN" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor{icon_state = "arrival"; dir = 10},/area/atmos)
-"cGO" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor{icon_state = "arrival"},/area/atmos)
-"cGP" = (/obj/machinery/camera{c_tag = "Atmospherics South East"; dir = 1},/obj/machinery/atmospherics/valve/digital{name = "Mixed Air Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 6},/area/atmos)
-"cGQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGR" = (/obj/machinery/atmospherics/binary/volume_pump/on,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGS" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core)
-"cGT" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/reactor_core)
-"cGU" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cGV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cGW" = (/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cGX" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cGY" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cGZ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cHa" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cHb" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cHc" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 9; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"cHd" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-c"; level = 2; _color = "cyan"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHe" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core)
-"cHf" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/meter{name = "Gas Mix In"},/obj/machinery/door/window/brigdoor{req_access = list(56)},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(56)},/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHg" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id = "supermatter_gas_in"; on = 1},/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHh" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "supermatter_gas"; output = 63},/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; on = 1; pressure_checks = 1; pump_direction = 0},/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHj" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/meter{name = "Gas Mix Out"},/obj/machinery/door/window/brigdoor{req_access = list(56)},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(56)},/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHk" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "Engine Out"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/reactor_core)
-"cHl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHm" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 9},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHo" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cHp" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cHq" = (/obj/machinery/field_generator{anchored = 1; state = 2},/turf/simulated/floor/plating/airless,/area)
-"cHr" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cHs" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cHt" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/space,/area)
-"cHu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/turf/space,/area)
-"cHv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/space,/area)
-"cHw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 4},/turf/space,/area)
-"cHx" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area)
-"cHy" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area)
-"cHz" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area)
-"cHA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area)
-"cHB" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/space,/area)
-"cHC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHE" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHF" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/greengrid,/area/engine/reactor_core)
-"cHG" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core)
-"cHH" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHJ" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cHK" = (/obj/item/device/multitool,/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cHL" = (/obj/item/weapon/wirecutters,/obj/structure/lattice,/turf/space,/area)
-"cHM" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos)
-"cHN" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/atmos)
-"cHO" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/atmos)
-"cHP" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHQ" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/engine/reactor_core)
-"cHR" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 5; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core)
-"cHS" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/reactor_core)
-"cHT" = (/turf/simulated/floor/engine,/area/engine/reactor_core)
-"cHU" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/reactor_core)
-"cHV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cHW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cHX" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cHY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cHZ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "n2_in"; on = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIa" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIc" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cId" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cIe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cIf" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIg" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIh" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIi" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area)
-"cIj" = (/obj/item/weapon/crowbar,/turf/space,/area)
-"cIk" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIl" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIm" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cIn" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cIo" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIp" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIq" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIr" = (/turf/simulated/floor/engine,/area)
-"cIs" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cIt" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating/airless,/area)
-"cIu" = (/obj/machinery/the_singularitygen{anchored = 1},/turf/simulated/floor/plating/airless,/area)
-"cIv" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"cIw" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
-"cIx" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"cIy" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
-"cIz" = (/obj/item/weapon/weldingtool,/turf/space,/area)
-"cIA" = (/turf/space,/area/syndicate_station/southwest)
-"cIB" = (/obj/item/device/radio,/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cIC" = (/obj/structure/lattice,/obj/item/clothing/head/hardhat,/turf/space,/area)
-"cID" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = -5; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cIE" = (/turf/space,/area/syndicate_station/southeast)
-"cIF" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cIG" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/emp_proof{c_tag = "Singularity West"; dir = 4; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cIH" = (/obj/item/weapon/screwdriver,/obj/structure/lattice,/turf/space,/area)
-"cII" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/emp_proof{c_tag = "Singularity East"; dir = 8; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering)
-"cIJ" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cIK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/engine/engineering)
-"cIL" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cIM" = (/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cIN" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"cIO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/escape_pod5/station)
-"cIP" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod5/station)
-"cIQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod5/station)
-"cIR" = (/obj/machinery/camera/xray{c_tag = "Engineering Escape Pod"; dir = 4},/turf/simulated/floor/plating,/area/engine/engineering)
-"cIS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
-"cIT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
-"cIU" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
-"cIV" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station)
-"cIW" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/engine/engineering)
-"cIX" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod5/station)
-"cIY" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod5/station)
-"cIZ" = (/turf/space,/area/syndicate_station/south)
-"cJa" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns15,/area)
-"cJb" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns9,/area)
-"cJc" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns5,/area)
-"cJd" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area)
-"cJe" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns8,/area)
-"cJf" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cJg" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cJh" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cJi" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns4,/area)
-"cJj" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cJk" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns1,/area)
-"cJl" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cJm" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns13,/area)
-"cJn" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns2,/area)
-"cJo" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cJp" = (/turf/space/transit/east/shuttlespace_ew13,/area)
-"cJq" = (/turf/space/transit/east/shuttlespace_ew14,/area)
-"cJr" = (/turf/space/transit/east/shuttlespace_ew15,/area)
-"cJs" = (/turf/space/transit/east/shuttlespace_ew1,/area)
-"cJt" = (/turf/space/transit/east/shuttlespace_ew2,/area)
-"cJu" = (/turf/space/transit/east/shuttlespace_ew3,/area)
-"cJv" = (/turf/space/transit/east/shuttlespace_ew4,/area)
-"cJw" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew5,/area)
-"cJx" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew6,/area)
-"cJy" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew7,/area)
-"cJz" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew8,/area)
-"cJA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew9,/area)
-"cJB" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew10,/area)
-"cJC" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew11,/area)
-"cJD" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew12,/area)
-"cJE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew13,/area)
-"cJF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew14,/area)
-"cJG" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew15,/area)
-"cJH" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew1,/area)
-"cJI" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew2,/area)
-"cJJ" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew3,/area)
-"cJK" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew4,/area)
-"cJL" = (/turf/space{tag = "icon-black"; icon_state = "black"},/area)
-"cJM" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area)
-"cJN" = (/turf/unsimulated/wall{tag = "icon-iron6"; icon_state = "iron6"},/area)
-"cJO" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area)
-"cJP" = (/turf/unsimulated/wall{tag = "icon-iron14"; icon_state = "iron14"},/area)
-"cJQ" = (/turf/unsimulated/wall{tag = "icon-iron10"; icon_state = "iron10"},/area)
-"cJR" = (/turf/space/transit/north/shuttlespace_ns8,/area)
-"cJS" = (/turf/space/transit/north/shuttlespace_ns4,/area)
-"cJT" = (/turf/space/transit/north/shuttlespace_ns11,/area)
-"cJU" = (/turf/space/transit/north/shuttlespace_ns7,/area)
-"cJV" = (/turf/space/transit/north/shuttlespace_ns2,/area)
-"cJW" = (/turf/space/transit/north/shuttlespace_ns5,/area)
-"cJX" = (/turf/space/transit/north/shuttlespace_ns6,/area)
-"cJY" = (/turf/space/transit/north/shuttlespace_ns14,/area)
-"cJZ" = (/turf/space/transit/north/shuttlespace_ns3,/area)
-"cKa" = (/turf/space/transit/north/shuttlespace_ns13,/area)
-"cKb" = (/turf/space/transit/north/shuttlespace_ns15,/area)
-"cKc" = (/turf/space/transit/north/shuttlespace_ns10,/area)
-"cKd" = (/turf/space/transit/north/shuttlespace_ns12,/area)
-"cKe" = (/turf/space/transit/north/shuttlespace_ns1,/area)
-"cKf" = (/turf/space/transit/north/shuttlespace_ns9,/area)
-"cKg" = (/turf/space/transit/east/shuttlespace_ew5,/area)
-"cKh" = (/turf/space/transit/east/shuttlespace_ew6,/area)
-"cKi" = (/turf/space/transit/east/shuttlespace_ew7,/area)
-"cKj" = (/turf/space/transit/east/shuttlespace_ew8,/area)
-"cKk" = (/turf/space/transit/east/shuttlespace_ew10,/area)
-"cKl" = (/turf/space/transit/east/shuttlespace_ew11,/area)
-"cKm" = (/turf/space/transit/east/shuttlespace_ew12,/area)
-"cKn" = (/turf/space/transit/east/shuttlespace_ew9,/area)
-"cKo" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area)
-"cKp" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"cKq" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6"; icon_state = "asteroid6"; dir = 2},/area/holodeck/source_desert)
-"cKr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area)
-"cKs" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"cKt" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"cKu" = (/obj/structure/rack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"cKv" = (/obj/effect/landmark/costume,/obj/structure/rack,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"cKw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"cKx" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating)
-"cKy" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"cKz" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt)
-"cKA" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt)
-"cKB" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt)
-"cKC" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area)
-"cKD" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"cKE" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)"; icon_state = "asteroid8"; dir = 4},/area/holodeck/source_desert)
-"cKF" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"cKG" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"cKH" = (/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre)
-"cKI" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife)
-"cKJ" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest)
-"cKK" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt)
-"cKL" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt)
-"cKM" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt)
-"cKN" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)"; icon_state = "asteroid2"; dir = 4},/area/holodeck/source_desert)
-"cKO" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
-"cKP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea)
-"cKQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area)
-"cKR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cKS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cKT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area)
-"cKU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cKV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area)
-"cKW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cKX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area)
-"cKY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area)
-"cKZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cLa" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert)
-"cLb" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)"; icon_state = "asteroid11"; dir = 4},/area/holodeck/source_desert)
-"cLc" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"cLd" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1"; icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre)
-"cLe" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom"; icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre)
-"cLf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cLg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cLh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area)
-"cLi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area)
-"cLj" = (/turf/space,/area/xenos_station/transit)
-"cLk" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7"; icon_state = "asteroid7"; dir = 2},/area/holodeck/source_desert)
-"cLl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5"; icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea)
-"cLm" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"cLn" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea)
-"cLo" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9"; icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea)
-"cLp" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/area/holodeck/source_theatre)
-"cLq" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)"; icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre)
-"cLr" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)"; icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre)
-"cLs" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)"; icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre)
-"cLt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area)
-"cLu" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit)
-"cLv" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit)
-"cLw" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit)
-"cLx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cLy" = (/turf/unsimulated/wall,/area/prison/solitary)
-"cLz" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert)
-"cLA" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea)
-"cLB" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea)
-"cLC" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre)
-"cLD" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre)
-"cLE" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre)
-"cLF" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cLG" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cLH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cLI" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit)
-"cLJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cLK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area)
-"cLL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew7,/area)
-"cLM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew8,/area)
-"cLN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area)
-"cLO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area)
-"cLP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew3,/area)
-"cLQ" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary)
-"cLR" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cLS" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary)
-"cLT" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cLU" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cLV" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary)
-"cLW" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cLX" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)"; icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre)
-"cLY" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit)
-"cLZ" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit)
-"cMa" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit)
-"cMb" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit)
-"cMc" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit)
-"cMd" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit)
-"cMe" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit)
-"cMf" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit)
-"cMg" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew13,/area)
-"cMh" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cMi" = (/turf/unsimulated/floor{icon_state = "floorgrime"},/area/prison/solitary)
-"cMj" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary)
-"cMk" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"cMl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea)
-"cMm" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)"; icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre)
-"cMn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area)
-"cMo" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit)
-"cMp" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit)
-"cMq" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit)
-"cMr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area)
-"cMs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew2,/area)
-"cMt" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit)
-"cMu" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit)
-"cMv" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit)
-"cMw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew7,/area)
-"cMx" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)"; icon_state = "asteroid1"; dir = 4},/area/holodeck/source_desert)
-"cMy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area)
-"cMz" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit)
-"cMA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cMB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew12,/area)
-"cMC" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary)
-"cMD" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"cME" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)"; icon_state = "asteroid3"; dir = 4},/area/holodeck/source_desert)
-"cMF" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)"; icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre)
-"cMG" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)"; icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre)
-"cMH" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)"; icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre)
-"cMI" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)"; icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre)
-"cMJ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cMK" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cML" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt)
-"cMM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cMN" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit)
-"cMO" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit)
-"cMP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area)
-"cMQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area)
-"cMR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area)
-"cMS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew6,/area)
-"cMT" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary)
-"cMU" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary)
-"cMV" = (/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area)
-"cMW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area)
-"cMX" = (/turf/unsimulated/wall,/area)
-"cMY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area)
-"cMZ" = (/turf/unsimulated/wall{tag = "icon-iron11"; icon_state = "iron11"},/area)
-"cNa" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit)
-"cNb" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)"; icon_state = "1"; dir = 5},/area/holodeck/source_space)
-"cNc" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)"; icon_state = "17"; dir = 5},/area/holodeck/source_space)
-"cNd" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)"; icon_state = "22"; dir = 5},/area/holodeck/source_space)
-"cNe" = (/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cNf" = (/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"cNg" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball)
-"cNh" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"cNi" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball)
-"cNj" = (/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cNk" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = -24},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cNl" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cNm" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cNn" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cNo" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cNp" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cNq" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cNr" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)"; icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cNs" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)"; icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall)
-"cNt" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)"; icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cNu" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball)
-"cNv" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"cNw" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball)
-"cNx" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cNy" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cNz" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cNA" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"cNB" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cNC" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cND" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt)
-"cNE" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt)
-"cNF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area)
-"cNG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area)
-"cNH" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cNI" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall)
-"cNJ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball)
-"cNK" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit)
-"cNL" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit)
-"cNM" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit)
-"cNN" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit)
-"cNO" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area)
-"cNP" = (/turf/unsimulated/wall,/area/ninja/outpost)
-"cNQ" = (/turf/unsimulated/wall,/area/ninja/holding)
-"cNR" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/ninja/holding)
-"cNS" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/ninja/holding)
-"cNT" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/ninja/holding)
-"cNU" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/ninja/holding)
-"cNV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area)
-"cNW" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit)
-"cNX" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit)
-"cNY" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit)
-"cNZ" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit)
-"cOa" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area)
-"cOb" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/ninja/outpost)
-"cOc" = (/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
-"cOd" = (/obj/structure/ninjatele{pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost)
-"cOe" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOf" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOg" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOh" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOi" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOj" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOk" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOl" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOm" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOn" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOo" = (/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cOp" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cOq" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cOr" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cOs" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cOt" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)"; icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cOu" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cOv" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball)
-"cOw" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball)
-"cOx" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball)
-"cOy" = (/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cOz" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cOA" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"cOB" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt)
-"cOC" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit)
-"cOD" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit)
-"cOE" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit)
-"cOF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area)
-"cOG" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cOH" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOI" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cOJ" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cOK" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cOL" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)"; icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cOM" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)"; icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cON" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)"; icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cOO" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball)
-"cOP" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball)
-"cOQ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball)
-"cOR" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach)
-"cOS" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cOT" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt)
-"cOU" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cOV" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"cOW" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"cOX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area)
-"cOY" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/ninja/outpost)
-"cOZ" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
-"cPa" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/sleeper{desc = "A sleeper specially designed to rest the body while the mind stays awake."; name = "Sensory Isolation Sleeper"},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
-"cPb" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cPc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cPd" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cPe" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cPf" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding)
-"cPg" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cPh" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cPi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball)
-"cPj" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball)
-"cPk" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball)
-"cPl" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cPm" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cPn" = (/turf/unsimulated/wall/fakeglass,/area/ninja/outpost)
-"cPo" = (/obj/effect/landmark{name = "ninjastart"},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost)
-"cPp" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPq" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/ninja/holding)
-"cPr" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield)
-"cPs" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"cPt" = (/turf/simulated/floor/holofloor{icon_state = "sand"; name = "Soft sand"},/area/holodeck/source_beach)
-"cPu" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPv" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPw" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cPx" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)"; icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cPy" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall)
-"cPz" = (/turf/simulated/floor/beach/coastline,/area/holodeck/source_beach)
-"cPA" = (/turf/space/transit/north/shuttlespace_ns8,/area/xenos_station/transit)
-"cPB" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon_state = "entertainment"; pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPC" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPD" = (/turf/unsimulated/beach/coastline,/area/ninja/holding)
-"cPE" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/ninja/holding)
-"cPF" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball)
-"cPG" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball)
-"cPH" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball)
-"cPI" = (/turf/simulated/floor/beach/water,/area/holodeck/source_beach)
-"cPJ" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cPK" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cPL" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = -24},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt)
-"cPM" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"cPN" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"cPO" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt)
-"cPP" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPQ" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPR" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding)
-"cPS" = (/turf/unsimulated/beach/water,/area/ninja/holding)
-"cPT" = (/turf/unsimulated/wall{tag = "icon-iron5"; icon_state = "iron5"},/area)
-"cPU" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area)
-"cPV" = (/turf/unsimulated/wall{tag = "icon-iron13"; icon_state = "iron13"},/area)
-"cPW" = (/turf/unsimulated/wall{tag = "icon-iron9"; icon_state = "iron9"},/area)
-"cPX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/ninja/holding)
-"cPY" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/ninja/holding)
-"cPZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/ninja/holding)
-"cQa" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/ninja/holding)
-"cQb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space,/area)
-"cQc" = (/obj/machinery/vending/sovietsoda,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQd" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQe" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/projectile/revolver/russian,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQf" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQg" = (/obj/machinery/vending/cigarette,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQh" = (/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQi" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQj" = (/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQk" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQl" = (/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQm" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQn" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/beer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQo" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQp" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/drinkingglasses,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQq" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQr" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQs" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQt" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco)
-"cQu" = (/turf/simulated/floor/light,/area/dynamic/source/lobby_disco)
-"cQv" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQw" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQx" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian)
-"cQy" = (/obj/machinery/light/small,/turf/simulated/floor/light,/area/dynamic/source/lobby_disco)
-"cQz" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQA" = (/obj/structure/table/woodentable,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQB" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/barman_recipes,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar)
-"cQC" = (/turf/unsimulated/wall,/area/wizard_station)
-"cQD" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQE" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQG" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQH" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQI" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQJ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
-"cQK" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
-"cQL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
-"cQM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership)
-"cQN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership)
-"cQO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership)
-"cQP" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
-"cQQ" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
-"cQR" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
-"cQS" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership)
-"cQT" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership)
-"cQU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership)
-"cQV" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership)
-"cQW" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership)
-"cQX" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQY" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cQZ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "LIST OF SPELLS AVAILABLE
Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.
Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.
Disintegrate:This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.
Disable Technology:
This spell disables all weapons, cameras and most other technology in range.
Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.
Blind:
This spell temporarly blinds a single person and does not require wizard garb.
Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.
Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.
Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.
Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.
Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.
Knock:
This spell opens nearby doors and does not require wizard garb.
"; name = "List of Available Spells (READ)"},/obj/item/trash/tray,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
-"cRa" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
-"cRb" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
-"cRc" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership)
-"cRd" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
-"cRe" = (/turf/unsimulated/wall{icon_state = "plasma6"},/area/xenos_station/start)
-"cRf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/xenos_station/start)
-"cRg" = (/turf/unsimulated/wall{icon_state = "plasma10"},/area/xenos_station/start)
-"cRh" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRi" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"cRj" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cRk" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control)
-"cRl" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership)
-"cRm" = (/turf/unsimulated/wall{icon_state = "plasma3"},/area/xenos_station/start)
-"cRn" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cRo" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cRp" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cRq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cRr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area)
-"cRs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area)
-"cRt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area)
-"cRu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cRv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cRw" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRx" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRy" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRz" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRA" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"cRB" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"cRC" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cRD" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cRE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cRF" = (/turf/unsimulated/wall{icon_state = "plasma12"},/area/xenos_station/start)
-"cRG" = (/turf/unsimulated/wall{icon_state = "plasma14"},/area/xenos_station/start)
-"cRH" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit)
-"cRI" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit)
-"cRJ" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit)
-"cRK" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit)
-"cRL" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit)
-"cRM" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit)
-"cRN" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit)
-"cRO" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit)
-"cRP" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit)
-"cRQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area)
-"cRR" = (/obj/structure/table/woodentable,/obj/item/trash/cheesie,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRS" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cRT" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"cRU" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"cRV" = (/turf/space,/area/syndicate_mothership/elite_squad)
-"cRW" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
-"cRX" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cRY" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cRZ" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cSa" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cSb" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cSc" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"cSd" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership)
-"cSe" = (/obj/structure/closet/acloset,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cSf" = (/obj/effect/landmark{name = "Xenos-Spawn"; pixel_x = -1},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cSg" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cSh" = (/turf/simulated/floor/greengrid,/area/xenos_station/start)
-"cSi" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit)
-"cSj" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit)
-"cSk" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit)
-"cSl" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit)
-"cSm" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit)
-"cSn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area)
-"cSo" = (/obj/item/flag/wiz,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"cSq" = (/obj/structure/closet/acloset,/obj/machinery/light{dir = 8},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cSr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/greengrid,/area/xenos_station/start)
-"cSs" = (/obj/effect/landmark/start{name = "XenoAI"},/turf/simulated/floor/greengrid,/area/xenos_station/start)
-"cSt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/greengrid,/area/xenos_station/start)
-"cSu" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit)
-"cSv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cSw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/wizard_station)
-"cSx" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/wizard_station)
-"cSy" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)"; icon_state = "fakewindows"; dir = 5},/area/wizard_station)
-"cSz" = (/obj/item/trash/raisins,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cSA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cSB" = (/obj/structure/showcase,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"cSC" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"cSD" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"cSE" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/showcase,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"cSF" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cSG" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"cSH" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad)
-"cSI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area)
-"cSJ" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"cSK" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"cSL" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/wizard_station)
-"cSM" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"cSN" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"cSO" = (/mob/living/carbon/monkey,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"cSP" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"cSQ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad)
-"cSR" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/space,/area)
-"cSS" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/greengrid,/area/xenos_station/start)
-"cST" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area)
-"cSU" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"cSV" = (/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"cSW" = (/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"cSX" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cSY" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
-"cSZ" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTa" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTb" = (/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cTc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area)
-"cTd" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit)
-"cTe" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit)
-"cTf" = (/obj/effect/decal/cleanable/molten_item,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"cTg" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station)
-"cTh" = (/obj/item/trash/chips,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"cTi" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"cTj" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"cTk" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"cTl" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership)
-"cTm" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership)
-"cTn" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership)
-"cTo" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTp" = (/obj/structure/stool/bed,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTq" = (/obj/structure/stool/bed,/obj/effect/decal/remains/human,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTr" = (/obj/machinery/recharge_station,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cTs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area)
-"cTt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cTu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cTv" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit)
-"cTw" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit)
-"cTx" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit)
-"cTy" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
-"cTz" = (/obj/effect/decal/cleanable/blood/gibs/core,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTA" = (/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTB" = (/obj/effect/decal/cleanable/blood/gibs/up,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTC" = (/turf/unsimulated/wall{icon_state = "plasma4"},/area/xenos_station/start)
-"cTD" = (/turf/unsimulated/wall{icon_state = "plasma9"},/area/xenos_station/start)
-"cTE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area)
-"cTF" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit)
-"cTG" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit)
-"cTH" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit)
-"cTI" = (/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTH)"; icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTK" = (/obj/machinery/door/window/southright,/obj/machinery/door/window/northright,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTM" = (/obj/machinery/door/window/southright,/obj/machinery/door/window/northright,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTN" = (/obj/machinery/camera{c_tag = "Xeno Shuttle 2"; dir = 4; network = list("Xeno")},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cTO" = (/obj/machinery/camera{c_tag = "Xeno Shuttle"; dir = 8; network = list("Xeno")},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cTP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cTQ" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit)
-"cTR" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit)
-"cTS" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit)
-"cTT" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTU" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTV" = (/obj/structure/closet/crate/hydroponics/prespawned,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTW" = (/obj/machinery/seed_extractor,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTX" = (/obj/item/seeds/ambrosiadeusseed,/obj/item/seeds/ambrosiadeusseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/nettleseed,/obj/item/seeds/nettleseed,/obj/item/seeds/nettleseed,/obj/item/weapon/gun/energy/floragun,/obj/item/seeds/amanitamycelium,/obj/structure/closet/crate/hydroponics/prespawned,/obj/item/seeds/cornseed,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/towermycelium,/obj/item/seeds/towermycelium,/obj/item/seeds/towermycelium,/obj/item/seeds/libertymycelium,/obj/item/seeds/libertymycelium,/obj/item/seeds/libertymycelium,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTY" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cTZ" = (/obj/structure/rack,/obj/item/weapon/reagent_containers/spray/chemsprayer,/obj/item/weapon/reagent_containers/spray,/obj/item/weapon/reagent_containers/spray,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUa" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUb" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUc" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUd" = (/obj/machinery/gibber,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUe" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cUf" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cUg" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cUh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area)
-"cUi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area)
-"cUj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area)
-"cUk" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cUl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area)
-"cUm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cUn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area)
-"cUo" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area)
-"cUp" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit)
-"cUq" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit)
-"cUr" = (/turf/unsimulated/wall,/area/syndicate_mothership)
-"cUs" = (/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUt" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUu" = (/obj/structure/sink,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUv" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUw" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUx" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUy" = (/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUz" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUA" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cUB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area)
-"cUC" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit)
-"cUD" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit)
-"cUE" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit)
-"cUF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area)
-"cUG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area)
-"cUH" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit)
-"cUI" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit)
-"cUJ" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit)
-"cUK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area)
-"cUL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area)
-"cUM" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit)
-"cUN" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cUO" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cUP" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cUQ" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cUR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUS" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 50},/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUT" = (/obj/effect/decal/cleanable/blood/gibs/limb,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUU" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUV" = (/obj/structure/kitchenspike,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cUW" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit)
-"cUX" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit)
-"cUY" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit)
-"cUZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area)
-"cVa" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area)
-"cVb" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit)
-"cVc" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit)
-"cVd" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit)
-"cVe" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cVf" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit)
-"cVg" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVh" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVi" = (/obj/structure/rack,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/raider,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVj" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVk" = (/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/structure/table,/obj/item/weapon/handcuffs,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVl" = (/obj/structure/table,/obj/item/weapon/butch,/obj/item/weapon/kitchenknife,/obj/item/weapon/melee/classic_baton{name = "Tenderizer"},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVm" = (/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVn" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVo" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVp" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVq" = (/turf/unsimulated/wall{icon_state = "plasma5"},/area/xenos_station/start)
-"cVr" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit)
-"cVs" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit)
-"cVt" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit)
-"cVu" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit)
-"cVv" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit)
-"cVw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area)
-"cVx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area)
-"cVy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area)
-"cVz" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cVA" = (/obj/machinery/door/airlock/hatch{name = "Storage"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVB" = (/obj/machinery/door/airlock/hatch{name = "Guest Room/Kitchen"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVC" = (/obj/machinery/computer/xenos_station,/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cVD" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit)
-"cVE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area)
-"cVF" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit)
-"cVG" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit)
-"cVH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVI" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVJ" = (/obj/machinery/chem_master,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/pillbottles,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVL" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/FixOVein,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVM" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVN" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVO" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVP" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cVQ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cVR" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start)
-"cVS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVT" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVV" = (/obj/item/weapon/storage/fancy/vials,/obj/item/weapon/storage/fancy/vials,/obj/item/weapon/storage/fancy/vials,/obj/structure/table/reinforced,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVW" = (/obj/item/weapon/stool,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVX" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVY" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cVZ" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWa" = (/mob/living/carbon/alien/embryo,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWb" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWc" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/beer,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWd" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWe" = (/obj/structure/table/woodentable,/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWf" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWg" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"cWi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWj" = (/obj/structure/flora/grass/green,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWk" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWl" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWn" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWp" = (/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWr" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/cautery,/obj/item/weapon/scalpel,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWs" = (/obj/structure/table,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWt" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWu" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWv" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWw" = (/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"cWy" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
-"cWz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"cWA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"cWB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"cWC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"cWD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWE" = (/obj/structure/flora/bush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWF" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWG" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWH" = (/obj/structure/rack,/obj/item/vox/armalis_amp,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWI" = (/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cWM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area)
-"cWN" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWO" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWP" = (/obj/structure/table/woodentable,/obj/item/weapon/tray,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cWQ" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership)
-"cWR" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWS" = (/obj/item/flag/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWT" = (/obj/structure/table,/obj/machinery/light/small/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWU" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWV" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWW" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cWX" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"cWY" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"cWZ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"cXa" = (/obj/structure/flora/grass/green,/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXb" = (/obj/machinery/door/airlock/hatch{name = "Amaralis Chamber"; req_access = 111; req_access_txt = "111"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXc" = (/turf/simulated/floor/wood,/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area)
-"cXe" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXf" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXg" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
-"cXh" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXi" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXj" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXk" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"cXl" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)"; icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership)
-"cXm" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership)
-"cXn" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership)
-"cXo" = (/obj/structure/rack,/obj/item/vox/armalis_armour,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXp" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXq" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXr" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXs" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXt" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cXu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership)
-"cXv" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership)
-"cXw" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXx" = (/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/rack,/obj/item/device/flashlight,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXy" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXz" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXA" = (/turf/simulated/floor/mech_bay_recharge_floor{name = "Vox Mech Recharge Station"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXB" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXC" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXD" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXE" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"cXF" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"cXH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"cXI" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cXJ" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cXK" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership)
-"cXL" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership)
-"cXM" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cXO" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/fluff/fountainpen,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXP" = (/obj/structure/table/woodentable,/obj/item/ashtray/glass{pixel_y = -5},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXQ" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXR" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXS" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco{pixel_x = -5},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXT" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cXU" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
-"cXV" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXW" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cXX" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_surround (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership)
-"cXY" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (SOUTHEAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership)
-"cXZ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYa" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYb" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYc" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership)
-"cYd" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cYe" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cYf" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYg" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYh" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYi" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo/fluff/riley_rohtin_1,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYj" = (/obj/item/flag/syndi,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYk" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYl" = (/obj/structure/safe,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYm" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYn" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"cYo" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"cYp" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYq" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"cYr" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"cYs" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"cYt" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"cYu" = (/obj/effect/landmark{name = "Syndicate-Uplink"; tag = ""},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cYv" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "synd_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"cYw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"cYx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"cYy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"cYz" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station)
-"cYA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYD" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cYE" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cYF" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"cYG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
-"cYH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; tag = "icon-gravsnow_corner (WEST)"},/area/syndicate_station/start)
-"cYI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTHEAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
-"cYJ" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"cYK" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"cYL" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYM" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"cYO" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cYP" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cYQ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"cYR" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; tag = "icon-gravsnow_corner (WEST)"},/area/syndicate_mothership)
-"cYS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYT" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/simulated/floor/wood,/area/syndicate_mothership)
-"cYU" = (/turf/simulated/floor/wood{tag = "icon-wood-broken6"; icon_state = "wood-broken6"},/area/syndicate_mothership)
-"cYV" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cYW" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYX" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYY" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cYZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZa" = (/obj/machinery/constructable_frame/machine_frame,/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = 0; pixel_y = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZb" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})
-"cZc" = (/obj/machinery/door/window{dir = 4; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZe" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_inner"; locked = 1; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZf" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "synd_pump"; tag_exterior_door = "synd_outer"; frequency = 1331; id_tag = "synd_airlock"; tag_interior_door = "synd_inner"; pixel_x = 25; req_access_txt = "0"; tag_chamber_sensor = "synd_sensor"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 25; pixel_y = 12},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZg" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{tag = "icon-wood-broken4"; icon_state = "wood-broken4"},/area/syndicate_mothership)
-"cZh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZi" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZj" = (/obj/item/weapon/stool,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZk" = (/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZl" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"cZn" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZo" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"cZq" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/simulated/floor/wood{tag = "icon-wood-broken"; icon_state = "wood-broken"},/area/syndicate_mothership)
-"cZr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZs" = (/obj/item/flag/species/vox,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZt" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZu" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZv" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZx" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZy" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZz" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZA" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZB" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZC" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZD" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZE" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"cZF" = (/turf/simulated/floor/wood{tag = "icon-wood-broken3"; icon_state = "wood-broken3"},/area/syndicate_mothership)
-"cZG" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZH" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZI" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZJ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZK" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZL" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"cZM" = (/obj/structure/rack,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/device/radio,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/backpack/satchel,/obj/item/device/flash,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZN" = (/obj/structure/rack,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/device/radio,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/grenade/smokebomb,/obj/item/device/chameleon,/obj/item/device/flash,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZO" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/grenade/empgrenade,/obj/item/device/multitool,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZP" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/device/radio,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/backpack/satchel,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/grenade/flashbang,/obj/item/weapon/plastique,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZQ" = (/obj/item/flag/species/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZR" = (/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = 0; pixel_y = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZS" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZT" = (/obj/structure/stool/bed,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"cZU" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZV" = (/obj/structure/closet/crate/internals,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZW" = (/obj/structure/closet/crate/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZX" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZY" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"cZZ" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"daa" = (/obj/machinery/atmospherics/pipe/simple{dir = 10},/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"dab" = (/obj/machinery/door/poddoor{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"dac" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"dad" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dae" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daf" = (/obj/machinery/door/window/westleft,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dag" = (/obj/item/flag/syndi,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"dah" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"dai" = (/obj/machinery/telecomms/allinone,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"daj" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/suit/space/vox/medic,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dak" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dal" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dam" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dan" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/storage/det_suit/fluff/leatherjack,/obj/item/clothing/under/fluff/tian_dress,/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/glasses/regular/hipster,/obj/item/clothing/glasses/meson/fluff/book_berner_1,/obj/item/clothing/head/bearpelt,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/suit/imperium_monk,/obj/item/clothing/suit/wizrobe/fake,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dao" = (/obj/item/weapon/handcuffs,/obj/item/clothing/suit/straight_jacket,/obj/item/weapon/legcuffs,/obj/structure/table,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dap" = (/obj/structure/closet/emcloset,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daq" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/obj/item/weapon/storage/firstaid/o2,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dar" = (/obj/structure/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
-"das" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start)
-"dat" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"dau" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"dav" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"daw" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"dax" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/meat{pixel_x = -8; pixel_y = -8},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"day" = (/obj/structure/rack,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daz" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"daA" = (/turf/unsimulated/wall,/area/start)
-"daB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start)
-"daC" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start)
-"daD" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start)
-"daE" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daF" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/diamond,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/uranium,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/iron,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daG" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/briefcase,/obj/item/weapon/storage/briefcase,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daH" = (/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daI" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/validsalad,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daJ" = (/obj/structure/rack,/obj/item/device/radio,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daK" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station)
-"daL" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/storage/pill_bottle/happy,/obj/item/weapon/storage/pill_bottle/happy,/obj/item/weapon/storage/pill_bottle/zoom,/obj/item/weapon/hatchet/unathiknife,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daM" = (/obj/structure/table/woodentable,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daO" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/tie/fluff/konaa_hirano,/obj/item/clothing/tie/fluff/altair_locket,/obj/item/clothing/tie/fluff/nasir_khayyam_1,/obj/item/weapon/lighter/zippo/fluff/nt_rep,/obj/item/weapon/storage/fluff/maye_daye_1,/obj/item/clothing/head/fluff/heather_winceworth,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/fluff/angelo_wilkerson_1,/obj/item/fluff/david_fanning_1,/obj/item/fluff/val_mcneil_1,/obj/item/weapon/reagent_containers/food/drinks/flask/fluff/shinyflask,/obj/item/weapon/reagent_containers/glass/beaker/fluff/eleanor_stone,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daP" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"daQ" = (/obj/structure/closet{name = "Loot Closet"},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station)
-"daR" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station)
-"daS" = (/obj/effect/landmark/start,/obj/machinery/media/jukebox/lobby,/turf/unsimulated/floor,/area/start)
-"daT" = (/turf/unsimulated/wall/splashscreen,/area/start)
-"daU" = (/turf/unsimulated/wall,/area/centcom/living)
-"daV" = (/obj/structure/table/woodentable,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"daW" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"daX" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"daY" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"daZ" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/living)
-"dba" = (/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/armor/swat/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/reagent_containers/glass/rag{desc = "For cleaning sensitive things, you suppose."; name = "eyewear rag"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living)
-"dbb" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Tactics)"},/area/centcom/living)
-"dbc" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbd" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbe" = (/obj/machinery/recharger/wallcharger{pixel_x = -23},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/living)
-"dbf" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbg" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/living)
-"dbh" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbi" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbj" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbk" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbl" = (/obj/structure/sign/mech{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbm" = (/obj/structure/sign/singulo{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbn" = (/obj/structure/sign/nuke{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbo" = (/obj/structure/sign/clown{name = "\improper love painting"; pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbp" = (/obj/structure/displaycase,/obj/structure/window/plasmareinforced{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbq" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/living)
-"dbr" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbs" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/light/small/lamp,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/living)
-"dbt" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbu" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbv" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbw" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbx" = (/obj/structure/showcase,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dby" = (/obj/structure/statue/corgi,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbz" = (/obj/structure/statue/angel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbA" = (/obj/structure/statue,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"dbB" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living)
-"dbC" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living)
-"dbD" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living)
-"dbE" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"dbF" = (/obj/machinery/door/airlock/centcom{name = "Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"dbG" = (/obj/machinery/door/airlock/centcom{name = "EoO Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living)
-"dbH" = (/obj/machinery/door/airlock/centcom{name = "Museum"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living)
-"dbI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dbJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dbK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dbL" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living)
-"dbM" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/faxmachine{department = "Kent's Office"; dpt = "Kent's Office"},/obj/structure/sign/goldenplaque{desc = "Its a sniper rifle mounted on the wall by two steel hangars. It looks pretty dangerous, best leave it alone."; icon = 'icons/obj/gun.dmi'; icon_state = "sniper"; name = "Mounted L.W.A.P Sniper Rifle"; pixel_y = 30},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living)
-"dbN" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin{pixel_y = 5},/obj/item/weapon/pen,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 23},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living)
-"dbO" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living)
-"dbP" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living)
-"dbQ" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"dbR" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dbS" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dbT" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living)
-"dbU" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living)
-"dbV" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living)
-"dbW" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbX" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dbY" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living)
-"dbZ" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dca" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcb" = (/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcc" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcd" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dce" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living)
-"dcf" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dcg" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dch" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dci" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Closet (Braden Kent)"},/obj/item/weapon/folder/blue,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo/fluff/nt_rep,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/cigarette/cigar/havana,/obj/item/clothing/tie/holster/armpit,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/under/rank/centcom_commander{desc = "It's a uniform worn by CentCom's highest-tier Commanders. Gold trim on space-black cloth, this uniform displays the rank of \"Lt. Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."; name = "Nanotrasen Navy Officer's Uniform"},/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/melee/telebaton,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living)
-"dcj" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living)
-"dck" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living)
-"dcl" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"dcm" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcn" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dco" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcp" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcq" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcr" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcs" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dct" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dcu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcv" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcw" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcx" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcz" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcA" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living)
-"dcB" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/faxmachine{department = "Kent's Office"; dpt = "Kent's Office"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living)
-"dcC" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcD" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dcF" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcG" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcH" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcI" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcJ" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dcK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living)
-"dcL" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcM" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcN" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living)
-"dcO" = (/turf/unsimulated/wall,/area/shuttle/gamma/space)
-"dcP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dcQ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living)
-"dcR" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/shuttle/gamma/space)
-"dcS" = (/obj/mecha/combat/durand/loaded,/turf/simulated/floor/mech_bay_recharge_floor,/area/shuttle/gamma/space)
-"dcT" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/shuttle/gamma/space)
-"dcU" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"dcV" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/pistol,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"dcW" = (/obj/structure/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"dcX" = (/turf/unsimulated/wall,/area/centcom/specops)
-"dcY" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Human Resources"; dpt = "Human Resources"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living)
-"dcZ" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"dda" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"ddb" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/living)
-"ddc" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/living)
-"ddd" = (/turf/unsimulated/wall,/area/centcom/control)
-"dde" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/control)
-"ddf" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddg" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddh" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddi" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space)
-"ddj" = (/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space)
-"ddk" = (/obj/structure/rack,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"ddl" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
-"ddm" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/living)
-"ddn" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/living)
-"ddo" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddp" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddq" = (/obj/machinery/door/airlock/external{name = "Gamma Armory Airlock"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space)
-"ddr" = (/obj/structure/rack,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"dds" = (/obj/structure/rack,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/shield/riot,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddt" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddu" = (/obj/structure/rack,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddv" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddw" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddx" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/weapon/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddy" = (/obj/structure/closet/secure_closet/blueshield,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddz" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/structure/sign/goldenplaque{desc = "An L6 Machine Gun mounted on steel hooks. It looks no longer useable due to excessive heat damage, likely from overuse"; icon = 'icons/obj/gun.dmi'; icon_state = "l6closed100"; name = "Mounted L6 Machine Gun"; pixel_y = 30},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddA" = (/obj/machinery/door/airlock/centcom{name = "Filing Room"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living)
-"ddB" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddC" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddD" = (/obj/structure/rack,/obj/item/weapon/grenade/flashbang/clusterbang,/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space)
-"ddE" = (/obj/structure/rack,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space)
-"ddF" = (/obj/structure/rack,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/weapon/gun/rocketlauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space)
-"ddG" = (/obj/structure/rack,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun/stun,/obj/item/ammo_box/shotgun/stun,/obj/item/ammo_box/shotgun/stun,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddH" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddI" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddJ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddK" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"ddL" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"ddM" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddN" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/l6_saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ddO" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddQ" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"ddR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"ddS" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"ddT" = (/obj/machinery/door/airlock/centcom{name = "Head of Human Resources"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living)
-"ddU" = (/obj/machinery/door/airlock/centcom{name = "Head of Accounting"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control)
-"ddV" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"ddW" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops)
-"ddX" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/specops)
-"ddY" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"ddZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dea" = (/obj/structure/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"deb" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dec" = (/obj/machinery/door/airlock/centcom{name = "Lieutenant Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"ded" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"dee" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"def" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"deg" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops)
-"deh" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"dei" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops)
-"dej" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"dek" = (/obj/structure/rack,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"del" = (/obj/structure/rack,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dem" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops)
-"den" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/specops)
-"deo" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dep" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Intercom"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"deq" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"der" = (/turf/space,/area/centcom/specops)
-"des" = (/obj/mecha/combat/marauder,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops)
-"det" = (/obj/structure/rack,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"deu" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dev" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"dew" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"dex" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dey" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"dez" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"deA" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"deB" = (/obj/structure/rack,/obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"deC" = (/obj/structure/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"deD" = (/obj/structure/closet/cabinet,/obj/item/clothing/mask/balaclava,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/under/rank/centcom_commander{desc = "It's a uniform worn by CentCom's highest-tier Commanders. Gold trim on space-black cloth, this uniform displays the rank of \"Lt. Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."; name = "Nanotrasen Navy Officer's Uniform"},/obj/item/clothing/head/beret/centcom,/obj/item/device/radio/headset/ert,/obj/item/clothing/suit/armor/bulletproof,/obj/item/weapon/melee/classic_baton,/obj/item/weapon/handcuffs,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops)
-"deE" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops)
-"deF" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"deG" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living)
-"deH" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"deI" = (/obj/machinery/door/airlock/centcom{name = "Internal Affairs"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"deJ" = (/obj/machinery/door/poddoor{desc = "Good luck hacking this one open."; icon_state = "pdoor1"; id = "WEAPONS"; name = "Special Weaponry"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"deK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"deL" = (/obj/machinery/door/airlock/centcom{name = "CentComm Security"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"deM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"deN" = (/obj/machinery/door/airlock/centcom{name = "Human Resources"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control)
-"deO" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control)
-"deP" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"deQ" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"deR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"deS" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"deT" = (/obj/structure/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"deU" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/device/flash,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"deV" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"deW" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"deX" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"deY" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"deZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfa" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfb" = (/turf/unsimulated/floor{tag = "icon-blue (NORTHWEST)"; icon_state = "blue"; dir = 9},/area/centcom/control)
-"dfc" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/control)
-"dfd" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dfe" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control)
-"dff" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control)
-"dfg" = (/turf/unsimulated/floor{tag = "icon-blue (NORTHEAST)"; icon_state = "blue"; dir = 5},/area/centcom/control)
-"dfh" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dfi" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfj" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfk" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfm" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfn" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfo" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfp" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control)
-"dfq" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control)
-"dfr" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dfs" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dft" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dfu" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"dfv" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops)
-"dfw" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfx" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfy" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfz" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfA" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control)
-"dfB" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control)
-"dfC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control)
-"dfD" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dfE" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dfF" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfG" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfH" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfI" = (/obj/structure/rack,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dfJ" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfK" = (/obj/machinery/door/airlock/centcom{name = "Executive Gym"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfL" = (/obj/machinery/door/airlock/centcom{name = "Blueshield Officers"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
-"dfN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dfO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dfP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dfQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
-"dfR" = (/obj/mecha/combat/gygax,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"dfS" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfT" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"dfU" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "ert_security"; name = "Ready Room"; p_open = 0},/obj/machinery/door/airlock/centcom{name = "Security Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfV" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfW" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dfX" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfY" = (/obj/structure/window/reinforced{dir = 4},/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dfZ" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"dga" = (/obj/structure/window/reinforced{dir = 8},/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dgc" = (/obj/machinery/computer/message_monitor,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgd" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dge" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
-"dgf" = (/mob/living/silicon/decoy{name = "A.L.I.C.E."},/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
-"dgg" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/blackbox_recorder,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control)
-"dgh" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgi" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgj" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dgk" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgl" = (/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgm" = (/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgn" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgo" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgp" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgq" = (/obj/structure/sign/redcross{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgr" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgs" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgv" = (/turf/unsimulated/floor{tag = "icon-redcorner (NORTH)"; icon_state = "redcorner"; dir = 1},/area/centcom/control)
-"dgw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dgx" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgz" = (/turf/unsimulated/floor{tag = "icon-warning"; icon_state = "warning"},/area/centcom/control)
-"dgA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgB" = (/turf/unsimulated/floor{tag = "icon-redcorner (EAST)"; icon_state = "redcorner"; dir = 4},/area/centcom/control)
-"dgC" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgD" = (/obj/structure/table/woodentable,/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgE" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "Gygax"; name = "Gygax Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgF" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "MECH"; name = "Mech Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgG" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops)
-"dgH" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgI" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dgJ" = (/obj/machinery/door/airlock/centcom{name = "Asset Protection"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops)
-"dgK" = (/obj/machinery/door/airlock/centcom{name = "Asset Protection"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control)
-"dgL" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgM" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Response Team Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dgN" = (/obj/machinery/door/airlock/centcom{name = "Head of IA"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"dgO" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgP" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgQ" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control)
-"dgR" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgU" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/control)
-"dgV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dgW" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/control)
-"dgX" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgY" = (/obj/mecha/combat/gygax,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dgZ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dha" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhb" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhc" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhd" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhe" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhf" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ody"; name = "Medical Mech Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dhg" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dhh" = (/obj/structure/table/reinforced,/obj/effect/landmark{name = "Commando_Manual"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dhi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dhj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/specops)
-"dhk" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dhl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/specops)
-"dhm" = (/obj/machinery/door/airlock/centcom{name = "Blueshield Commander's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dhn" = (/obj/machinery/door/airlock/centcom{name = "Head of Asset Protection"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dho" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhp" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhq" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhr" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dhs" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dht" = (/obj/machinery/door/airlock/centcom{name = "IA Medical"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"dhu" = (/obj/machinery/door/airlock/centcom{name = "Executive Bathroom"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"dhv" = (/obj/mecha/medical/odysseus,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops)
-"dhw" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dhx" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dhy" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"dhz" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"dhA" = (/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/specops)
-"dhB" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops)
-"dhC" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/specops)
-"dhD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dhE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
-"dhF" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dhG" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dhH" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhI" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhJ" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhK" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhL" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhM" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/destroyer,/obj/item/weapon/gun/energy/pulse_rifle/destroyer,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhN" = (/obj/structure/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhO" = (/obj/structure/rack,/obj/item/weapon/gun/rocketlauncher,/obj/item/weapon/gun/rocketlauncher,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhP" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/weapon/gun/projectile/automatic/gyropistol,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhQ" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/weapon/gun/projectile/automatic/deagle,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dhR" = (/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dhS" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dhT" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dhU" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dhV" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/unsimulated/wall,/area/centcom/specops)
-"dhW" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dhX" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"dhY" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"dhZ" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"dia" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control)
-"dib" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dic" = (/obj/machinery/door/airlock/centcom{name = "ERT Med Bay"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"did" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"die" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dif" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dig" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "DS"; name = "Death Squad"; p_open = 0},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dih" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dii" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"dij" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dik" = (/obj/machinery/portable_atmospherics/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"dil" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dim" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/centcom/control)
-"din" = (/turf/unsimulated/floor{tag = "icon-red (SOUTHEAST)"; icon_state = "red"; dir = 6},/area/centcom/control)
-"dio" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dip" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"diq" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dir" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area)
-"dis" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dit" = (/obj/structure/table/woodentable{dir = 9},/obj/item/ashtray/glass{icon_state = "ashtray_half_gl"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"diu" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"div" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"diw" = (/obj/machinery/computer/shuttle_control/specops,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"dix" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"diy" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"diz" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control)
-"diA" = (/obj/machinery/door/airlock/centcom{name = "Toilets"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
-"diB" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"diC" = (/obj/structure/table/reinforced,/obj/item/weapon/pinpointer,/obj/item/weapon/pinpointer,/obj/item/weapon/pinpointer,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"diD" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"diE" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"diF" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"diG" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"diH" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_centcom_dock"; pixel_y = -25; tag_door = "specops_centcom_dock_inner"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"diI" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"diJ" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CREED"; name = "Spec Ops Ready Room"; pixel_y = 16; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "WEAPONS"; name = "Armory Door"; pixel_y = 6; req_access_txt = "108"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"diK" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"diL" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/computer/shuttle_control{name = "gamma operations control console"; req_one_access_txt = "32"; shuttle_tag = "Gamma"},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"diM" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"diN" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"diO" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"diP" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops)
-"diQ" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/reagent_containers/syringe{pixel_x = -3; pixel_y = -4},/obj/item/weapon/reagent_containers/glass/bottle/hyperzine,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/specops)
-"diR" = (/obj/structure/table/woodentable{dir = 10},/obj/item/ashtray/bronze,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops)
-"diS" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops)
-"diT" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/specops)
-"diU" = (/obj/machinery/sleeper,/turf/unsimulated/floor,/area/centcom/specops)
-"diV" = (/obj/machinery/sleep_console,/turf/unsimulated/floor,/area/centcom/specops)
-"diW" = (/obj/machinery/optable,/turf/unsimulated/floor,/area/centcom/specops)
-"diX" = (/obj/structure/AIcore,/turf/unsimulated/floor,/area/centcom/specops)
-"diY" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHWEST)"; icon_state = "warning"; dir = 9},/area/centcom/control)
-"diZ" = (/turf/unsimulated/floor{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control)
-"dja" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHEAST)"; icon_state = "warning"; dir = 5},/area/centcom/control)
-"djb" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"djc" = (/obj/machinery/door/airlock/centcom{name = "Toilets"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"djd" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"dje" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "DSMECH"; name = "Death Squad Mechs"; p_open = 0},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"djf" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_centcom_dock_inner"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
-"djg" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"djh" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops)
-"dji" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops)
-"djj" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops)
-"djk" = (/obj/structure/sign/goldenplaque{desc = "A model M2411 pistol mounted onto the wall. It appears to have been kept in pristine condition, but the bolts secure it to the wall with no hope of getting it off without serious tools."; icon = 'icons/obj/gun.dmi'; icon_state = "m2411"; name = "Mounted M2411 Pistol"; pixel_x = 30; pixel_y = 0},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"djl" = (/obj/structure/sign/goldenplaque{desc = ""; name = "The Most Tolerated Passive-Agressive Takeover Award"; pixel_x = -30},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"djm" = (/obj/machinery/door/airlock/centcom{name = "Private Quarters"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"djn" = (/turf/unsimulated/floor,/area/centcom/specops)
-"djo" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/control)
-"djp" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/control)
-"djq" = (/obj/structure/table,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/chemimp,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djr" = (/obj/structure/table,/obj/item/weapon/implanter/loyalty,/obj/item/weapon/implanter/explosive,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djs" = (/obj/structure/table,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/tracking,/obj/item/weapon/implantcase/tracking,/obj/item/weapon/implantcase/explosive,/obj/item/weapon/implantcase/explosive,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"dju" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHWEST)"; icon_state = "warning"; dir = 9},/area/centcom/specops)
-"djv" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHEAST)"; icon_state = "warning"; dir = 5},/area/centcom/specops)
-"djw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"djx" = (/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/armor/swat/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/reagent_containers/glass/rag{desc = "For cleaning sensitive things, you suppose."; name = "eyewear rag"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"djy" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Tactics)"},/area/centcom/specops)
-"djz" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/specops)
-"djA" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/combat{name = "black suit"},/obj/item/clothing/glasses/hud/security/jensenshades{icon_state = "sun"; item_state = "sun"; name = "tinted glasses"},/obj/item/weapon/melee/telebaton,/obj/item/clothing/head/beret/centcom/captain{name = "white beret"},/obj/item/clothing/suit/armor/hos/hosbluejacket{name = "fancy coat"},/obj/item/clothing/mask/gas/swat{name = "black mask"},/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/shoes/combat{species_restricted = list("exclude","Unathi")},/obj/item/weapon/handcuffs/pinkcuffs,/obj/item/weapon/handcuffs/pinkcuffs,/obj/item/ammo_box/magazine/m50,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
-"djB" = (/obj/structure/closet/secure_closet/captains{name = "Locker (Novus Lem)"},/obj/item/clothing/under/rank/centcom/captain,/obj/item/clothing/shoes/centcom,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/clothing/mask/gas/sechailer/hos,/obj/item/clothing/shoes/magboots,/obj/item/device/multitool,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/hud/security/jensenshades,/obj/item/clothing/head/helmet/space/capspace,/obj/item/weapon/storage/lockbox/loyalty,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops)
-"djC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops)
-"djD" = (/obj/structure/table,/obj/item/device/mmi,/turf/unsimulated/floor,/area/centcom/specops)
-"djE" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/turf/unsimulated/floor,/area/centcom/specops)
-"djF" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/FixOVein,/turf/unsimulated/floor,/area/centcom/specops)
-"djG" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/obj/item/weapon/hemostat,/obj/item/weapon/hemostat,/turf/unsimulated/floor,/area/centcom/specops)
-"djH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -24},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control)
-"djI" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djJ" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"djK" = (/turf/unsimulated/floor{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/area/centcom/specops)
-"djL" = (/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/specops)
-"djM" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"djN" = (/turf/unsimulated/wall,/area/centcom)
-"djO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom)
-"djP" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom)
-"djQ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"djR" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom)
-"djS" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"djT" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom)
-"djU" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom)
-"djV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"djW" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom)
-"djX" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djY" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/FixOVein,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"djZ" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/obj/item/weapon/hemostat,/obj/item/weapon/hemostat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
-"dka" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control)
-"dkb" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom)
-"dkc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom)
-"dkd" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dke" = (/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dkf" = (/obj/machinery/camera{c_tag = "Spec. Ops. Shuttle"; dir = 2; network = list("ERT")},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dkg" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dkh" = (/obj/structure/stool/bed/chair,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_shuttle_fore"; pixel_x = 0; pixel_y = 25; req_one_access_txt = "13;48"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dki" = (/obj/structure/stool/bed/chair,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_shuttle_port"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "specops_shuttle_port_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dkj" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dkk" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom)
-"dkl" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom)
-"dkm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch_port"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dkn" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom)
-"dko" = (/turf/unsimulated/floor{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/area/centcom/control)
-"dkp" = (/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/control)
-"dkq" = (/turf/unsimulated/wall,/area/centcom/suppy)
-"dkr" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dks" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom)
-"dkt" = (/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom)
-"dku" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dkv" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom)
-"dkw" = (/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/beer,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkx" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/drinkingglasses,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dky" = (/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/soda,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkz" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_port"; pixel_x = 25; pixel_y = 8; req_one_access_txt = "13"; tag_door = "admin_shuttle_hatch_port"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkB" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkC" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkE" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
-"dkF" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom/suppy)
-"dkG" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
-"dkH" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom/suppy)
-"dkI" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy)
-"dkJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
-"dkK" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom)
-"dkL" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flash,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dkM" = (/obj/machinery/door/airlock/centcom{id_tag = "adminshuttle"; name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dkN" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
-"dkO" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/evac)
-"dkP" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dkQ" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/evac)
-"dkR" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac)
-"dkS" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/supply/dock)
-"dkT" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/supply/dock)
-"dkU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/supply/dock)
-"dkV" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom)
-"dkW" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dkX" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkY" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dkZ" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dla" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/ashtray/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlb" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo{pixel_x = 5},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"dld" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dle" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = -4; req_access_txt = "101"},/obj/machinery/door/window/southleft{dir = 1; name = "Security"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dlf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"dlg" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/supply/dock)
-"dlh" = (/turf/simulated/shuttle/floor,/area/supply/dock)
-"dli" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/gloves/purple,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/head/bio_hood/janitor,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"dlj" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom)
-"dlk" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom)
-"dll" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlm" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dln" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1; name = "External Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
-"dlo" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"dlp" = (/obj/machinery/door/window/westright{req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dlq" = (/obj/machinery/door/window/eastleft{req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dlr" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"dls" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
-"dlt" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/weapon/reagent_containers/hypospray,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/device/aicard,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlv" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/device/flash,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlw" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/security,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlx" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "Switch to open the Security ERT gear"; icon_state = "doorctrl0"; id = "ert_security"; name = "Security Gear"; pixel_y = 6; req_access_txt = "0"; req_one_access = null},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dly" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom)
-"dlz" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlA" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom)
-"dlB" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/evac)
-"dlC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dlD" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dlE" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
-"dlF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/plating,/area/supply/dock)
-"dlG" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlH" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlI" = (/obj/machinery/door/airlock/centcom{name = "Commander Equipment"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlJ" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom)
-"dlK" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlL" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dlM" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_bay"; pixel_x = 25; pixel_y = 5; req_one_access_txt = "13"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom)
-"dlN" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"dlO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dlP" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/machinery/door/window/southleft{name = "Security"; req_access_txt = ""},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dlQ" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"dlR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock)
-"dlS" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range)
-"dlT" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/gloves/purple,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/head/bio_hood/janitor,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlU" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/commander,/obj/item/clothing/suit/space/rig/ert/commander,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlV" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/gloves/yellow,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops)
-"dlW" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlX" = (/obj/machinery/computer/shuttle_control{req_one_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dlY" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dlZ" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac)
-"dma" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/evac)
-"dmb" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
-"dmc" = (/obj/machinery/atm{pixel_x = 24},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac)
-"dmd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "supply_shuttle"; pixel_x = 25; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock)
-"dme" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmf" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmg" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmh" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmi" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmj" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dmk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"dml" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac)
-"dmm" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"dmn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
-"dmo" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmp" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmq" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmr" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dms" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmt" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmu" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmv" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmw" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/plating,/area/supply/dock)
-"dmx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom)
-"dmy" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"dmz" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom)
-"dmA" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmB" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom)
-"dmC" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dmD" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom)
-"dmE" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmJ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmK" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmL" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmM" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/obj/item/weapon/hemostat,/obj/item/weapon/cautery,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/obj/item/weapon/FixOVein,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmN" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/supply/dock)
-"dmO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_floor"; tag = ""},/area/supply/dock)
-"dmP" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "wall_floor"; tag = ""},/area/supply/dock)
-"dmQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/supply/dock)
-"dmR" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dmS" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "escape_shuttle"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dmT" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dmU" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops)
-"dmV" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmW" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dmX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/supply/dock)
-"dmY" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"; dir = 2},/area/supply/dock)
-"dmZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock)
-"dna" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/supply/dock)
-"dnb" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnc" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnd" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dne" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnf" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/pillbottles,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dng" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dnh" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
-"dni" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_starboard"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13"; tag_door = "admin_shuttle_hatch_starboard"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
-"dnj" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/turf/space,/area/supply/dock)
-"dnk" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock)
-"dnl" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r"; icon_state = "burst_r"},/turf/space,/area/supply/dock)
-"dnm" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnn" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dno" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch_starboard"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"dnp" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom)
-"dnq" = (/obj/machinery/computer/robotics,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnr" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dns" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnt" = (/turf/space,/area/shuttle/escape_pod1/centcom)
-"dnu" = (/turf/space,/area/shuttle/escape_pod2/centcom)
-"dnv" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom)
-"dnw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom)
-"dnx" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom)
-"dny" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom)
-"dnz" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnA" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom)
-"dnB" = (/turf/unsimulated/wall,/area/centcom/ferry)
-"dnC" = (/turf/unsimulated/wall,/area/centcom/evac)
-"dnD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dnE" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac)
-"dnF" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area)
-"dnG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area)
-"dnH" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dnI" = (/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dnJ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dnK" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"dnL" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom/evac)
-"dnM" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dnN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dnO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dnP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dnQ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dnR" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"dnS" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dnT" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/centcom/evac)
-"dnU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac)
-"dnV" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac)
-"dnW" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac)
-"dnX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/centcom/evac)
-"dnY" = (/turf/unsimulated/floor{name = "plating"},/area/shuttle/transport1/centcom)
-"dnZ" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/transport1/centcom)
-"doa" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom)
-"dob" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/transport1/centcom)
-"doc" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom)
-"dod" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom)
-"doe" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom)
-"dof" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"dog" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac)
-"doh" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"doi" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/centcom/evac)
-"doj" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
-"dok" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/centcom/evac)
-"dol" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/centcom/evac)
-"dom" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"don" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"doo" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/centcom/evac)
-"dop" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/transport1/centcom)
-"doq" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dor" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/transport1/centcom)
-"dos" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom)
-"dot" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dou" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom)
-"dov" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom)
-"dow" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dox" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"doy" = (/turf/simulated/shuttle/plating,/area/centcom/evac)
-"doz" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/centcom/evac)
-"doA" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/centcom/evac)
-"doB" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"doD" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doE" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doG" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_2_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"doH" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/centcom/evac)
-"doI" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/centcom/evac)
-"doJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/transport1/centcom)
-"doK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"doL" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom/evac)
-"doM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"doN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac)
-"doO" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac)
-"doP" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac)
-"doQ" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"doR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_dock_hatch"; locked = 1; name = "Arrival Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"doS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"doT" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"; dir = 2},/area/centcom/evac)
-"doU" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doV" = (/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doW" = (/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"doX" = (/obj/structure/stool,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doY" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"doZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom)
-"dpa" = (/obj/machinery/computer/shuttle_control{req_access_txt = "0"; req_one_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpc" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpe" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Arrival Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry)
-"dpf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_shuttle_bay"; layer = 4; pixel_x = 0; pixel_y = -25; req_one_access_txt = "13"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dpg" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dph" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dpi" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/centcom/evac)
-"dpj" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dpk" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/centcom/evac)
-"dpl" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpm" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpn" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpo" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpp" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"dpq" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac)
-"dpr" = (/obj/machinery/computer/arcade,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"dps" = (/turf/unsimulated/wall,/area/centcom/holding)
-"dpt" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/transport1/centcom)
-"dpu" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/transport1/centcom)
-"dpv" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/transport1/centcom)
-"dpw" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom)
-"dpx" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom)
-"dpy" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom)
-"dpz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dpA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_dock"; pixel_x = 25; pixel_y = 0; req_one_access_txt = "13"; tag_door = "centcom_dock_hatch"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"dpB" = (/obj/machinery/computer/card,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpD" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpE" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpF" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/transport1/centcom)
-"dpG" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom)
-"dpH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dpI" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpJ" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpK" = (/turf/space,/area/shuttle/escape_pod3/centcom)
-"dpL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dpM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dpN" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dpO" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpP" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac)
-"dpQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"dpR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dpS" = (/obj/machinery/status_display{pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
-"dpT" = (/obj/machinery/vending/cola,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"dpU" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dpV" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dpW" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dpX" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dpY" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dpZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqa" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqb" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqc" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqd" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqe" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqf" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqg" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqh" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"dqi" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"dqj" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqk" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom)
-"dql" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dqm" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"dqn" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"dqo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dqp" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"dqq" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqr" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqt" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqu" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqv" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqw" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqx" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqy" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dqz" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dqA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dqB" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"dqC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dqD" = (/turf/space,/area/shuttle/escape_pod5/centcom)
-"dqE" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"dqJ" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqK" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dqM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dqN" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqO" = (/obj/machinery/status_display{pixel_x = -30; pixel_y = 0},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dqP" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dqQ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"dqR" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"dqS" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"dqT" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_5_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"dqU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dqV" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dqW" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"dqX" = (/obj/machinery/door/airlock/centcom{name = "Post-Shift Recreation Area"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac)
-"dqY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
-"dqZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
-"dra" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac)
-"drb" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"drc" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"drd" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom)
-"dre" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom)
-"drf" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom)
-"drg" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom)
-"drh" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom)
-"dri" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom)
-"drj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"drk" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drl" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drm" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/obj/machinery/vending/snack,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drn" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon_state = "entertainment"; pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dro" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"drp" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"drq" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"drr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"drs" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding)
-"drt" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding)
-"dru" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom)
-"drv" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/centcom/evac)
-"drw" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac)
-"drx" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"dry" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"drz" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
-"drA" = (/turf/unsimulated/beach/water,/area/centcom/holding)
-"drB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding)
-"drC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding)
-"drD" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/evac)
-"drE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
-"drF" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drG" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drH" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/holding)
-"drI" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/centcom/holding)
-"drJ" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/holding)
-"drK" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding)
-"drL" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drM" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drN" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"drO" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"drP" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"drQ" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"drR" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drS" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drT" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drU" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drV" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor,/area/centcom/evac)
-"drW" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"drX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"drY" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"drZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dsb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dsc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/centcom/evac)
-"dsd" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dse" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsf" = (/obj/structure/stool/bed/chair/sofa/left{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsh" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsi" = (/obj/structure/stool/bed/chair/sofa{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsj" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom)
-"dsk" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/space,/area/centcom)
-"dsl" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom)
-"dsm" = (/obj/structure/stool/bed/chair/sofa/corner{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsn" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dso" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom)
-"dsp" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom)
-"dsq" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsr" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dss" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom)
-"dst" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom)
-"dsu" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom)
-"dsv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom)
-"dsw" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom)
-"dsx" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom)
-"dsy" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom)
-"dsz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsA" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsB" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsC" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsD" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsE" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsF" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsG" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsH" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsI" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsJ" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsK" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsL" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsM" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsN" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsO" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsT" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsU" = (/obj/machinery/door/airlock/gold,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsV" = (/obj/machinery/door/airlock/gold,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dsW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom)
-"dsX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom)
-"dsY" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dsZ" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dta" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dtb" = (/obj/structure/stool/bed/chair/wood/wings,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dtc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom)
-"dtd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom)
-"dte" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dtf" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom)
-"dtg" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dth" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dti" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dtj" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dtk" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom)
-"dtl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dtm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom)
-"dtn" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dto" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom)
-"dtp" = (/turf/space,/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dtq" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dtr" = (/turf/space,/area/admin)
-"dts" = (/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin)
-"dtt" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dtu" = (/obj/structure/rack,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/gas/voice,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtv" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtw" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/head/bandana,/obj/item/clothing/mask/cigarette/cigar/cohiba,/obj/item/clothing/under/pirate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtx" = (/obj/structure/rack,/obj/item/clothing/under/shorts/green,/obj/item/clothing/mask/luchador,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dty" = (/obj/structure/rack,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/rainbow,/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtz" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/mask/cigarette/pipe,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtA" = (/obj/structure/rack,/obj/item/clothing/under/syndicate,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/suit/armor/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtB" = (/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin)
-"dtC" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dtD" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtE" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtF" = (/obj/structure/rack,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/glasses/hud/security/jensenshades,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtG" = (/obj/structure/rack,/obj/item/clothing/head/beret/sec,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/captain,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtH" = (/obj/structure/rack,/obj/item/clothing/suit/space/santa,/obj/item/clothing/head/helmet/space/santahat,/obj/item/weapon/storage/backpack/santabag,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtI" = (/obj/structure/rack,/obj/item/clothing/under/acj,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/gloves/combat,/obj/item/clothing/head/beret/sec,/obj/item/clothing/shoes/combat,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtJ" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/weapon/storage/backpack/satchel_vir,/obj/item/weapon/storage/backpack/satchel_chem,/obj/item/weapon/storage/backpack/satchel_hyd,/obj/item/weapon/storage/backpack/satchel_gen,/obj/item/weapon/storage/backpack/holding,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtK" = (/obj/structure/rack,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/material,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtL" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtM" = (/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtN" = (/obj/mecha/combat/honker,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtO" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtP" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtQ" = (/obj/structure/rack,/obj/item/clothing/head/welding/fluff/alice_mccrea_1,/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/head/welding/fluff/yuki_matsuda_1,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtR" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtS" = (/obj/structure/rack,/obj/item/clothing/under/psyche,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtT" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtU" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/obj/item/clothing/glasses/night,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtV" = (/obj/mecha/combat/marauder,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtW" = (/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtX" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtY" = (/turf/space,/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dtZ" = (/obj/machinery/door/airlock/hatch{name = "Clothing Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dua" = (/obj/machinery/door/airlock/hatch{name = "Mecha Room"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dub" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3 (EAST)"; icon_state = "diagonalWall3"; dir = 4},/area/admin)
-"duc" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3"; icon_state = "diagonalWall3"; dir = 2},/area/admin)
-"dud" = (/obj/machinery/chem_master,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"due" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duf" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dug" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/cyanide,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duh" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/adminconstruction)
-"dui" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duj" = (/obj/machinery/door/airlock/hatch{name = "External Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duk" = (/obj/machinery/chem_dispenser{desc = "It appears Fox is doing more fruit chemistry today!"; hackedcheck = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dul" = (/obj/structure/stool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dum" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dun" = (/obj/machinery/door/airlock/hatch{name = "Armory"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duo" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dup" = (/obj/item/weapon/storage/box/syringes,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/gun/syringe/rapidsyringe,/obj/item/weapon/reagent_containers/spray/chemsprayer,/obj/structure/closet,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duq" = (/turf/space,/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dur" = (/obj/structure/rack,/obj/item/ammo_box/a357,/obj/item/ammo_box/a418,/obj/item/ammo_box/a666,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/ammo_box/a357,/obj/item/ammo_box/a666,/obj/item/ammo_box/a418,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dus" = (/obj/structure/rack,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dut" = (/obj/structure/rack,/obj/item/ammo_box/magazine/uzim45,/obj/item/ammo_box/magazine/uzim45,/obj/item/weapon/gun/projectile/automatic/mini_uzi,/obj/item/ammo_box/magazine/uzim45,/obj/item/ammo_box/magazine/uzim45,/obj/item/weapon/gun/projectile/automatic/mini_uzi,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duu" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/weapon/gun/projectile/automatic/m2411,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duv" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/weapon/gun/projectile/automatic/deagle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duw" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m12mm,/obj/item/ammo_box/magazine/m12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/ammo_box/magazine/m12mm,/obj/item/ammo_box/magazine/m12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dux" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/weapon/gun/projectile/automatic/gyropistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,/obj/item/weapon/reagent_containers/food/snacks/grown/berries,/obj/item/weapon/reagent_containers/food/snacks/grown/banana,/obj/item/weapon/reagent_containers/food/snacks/grown/cherries,/obj/item/weapon/reagent_containers/food/snacks/grown/orange,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duz" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duA" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/storage/box/autoinjectors,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duB" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duC" = (/obj/machinery/door/airlock/hatch{name = "Chem Lab"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duD" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duE" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duF" = (/obj/structure/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duG" = (/obj/structure/mirror{dir = 4; pixel_x = 0; pixel_y = -32},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duH" = (/obj/machinery/optable,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duI" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duJ" = (/obj/structure/table,/obj/random/tool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duK" = (/obj/structure/table,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duL" = (/obj/structure/table,/obj/item/weapon/tank/anesthetic,/obj/random/technology_scanner,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duM" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"duN" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duO" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/rods,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duP" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duQ" = (/obj/structure/table,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duR" = (/obj/structure/rack,/obj/item/weapon/claymore,/obj/item/weapon/claymore,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duS" = (/obj/structure/rack,/obj/item/weapon/katana,/obj/item/weapon/katana,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duT" = (/obj/structure/rack,/obj/item/weapon/twohanded/dualsaber,/obj/item/weapon/twohanded/dualsaber,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duU" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"duV" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"duW" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"duX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"duY" = (/obj/structure/table,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"duZ" = (/obj/structure/table,/obj/item/weapon/handcuffs/cable/red,/obj/item/weapon/storage/box/mousetraps,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dva" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/item/weapon/lighter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvb" = (/obj/structure/table,/obj/item/weapon/tank/plasma,/obj/item/device/multitool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvc" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvd" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dve" = (/obj/machinery/door/airlock/hatch{name = "Tool Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dvf" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/shard,/obj/item/weapon/kitchenknife,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvg" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvh" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvi" = (/obj/structure/table,/obj/item/weapon/tank/jetpack/void,/obj/item/clothing/mask/fakemoustache,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvj" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dvk" = (/obj/structure/rack,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvl" = (/obj/structure/rack,/obj/item/weapon/gun/energy/crossbow,/obj/item/weapon/gun/energy/crossbow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvm" = (/obj/structure/rack,/obj/item/weapon/gun/energy/meteorgun,/obj/item/weapon/gun/energy/meteorgun,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvn" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/yellow,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dvo" = (/obj/structure/table,/obj/item/weapon/rsf,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dvp" = (/obj/structure/table,/obj/item/toy/cards/deck/syndicate/black,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dvq" = (/obj/structure/table,/obj/item/weapon/weldingtool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvr" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/hatchet,/obj/item/weapon/pen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvs" = (/obj/machinery/door/airlock/hatch{name = "Operating Room"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvt" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvu" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvv" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvw" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvx" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvy" = (/obj/machinery/door/airlock/hatch{desc = "You've heard rumors of the horrors that go on within this lab."; name = "Laboratory (DANGER!)"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvz" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvA" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvB" = (/obj/machinery/computer/security,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvC" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvD" = (/obj/structure/table,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvE" = (/obj/structure/table,/obj/item/weapon/card/id/silver,/obj/item/weapon/card/id/fluff/lifetime{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvF" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/obj/item/weapon/card/id{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'DANGER!'."; name = "\improper DANGER!"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin)
-"dvH" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvI" = (/obj/machinery/computer/card,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvK" = (/obj/machinery/door/airlock/glass{name = "Computer Hub"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvL" = (/obj/effect/landmark{name = "aroomwarp"; tag = ""},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvM" = (/obj/machinery/door/airlock/hatch{desc = "For all your shady business needs"; name = "Gambling Den"; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvN" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvO" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck/syndicate,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvQ" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dvR" = (/obj/machinery/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvT" = (/obj/item/weapon/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvU" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo/fluff/naples_1,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin)
-"dvV" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvW" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dvX" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvY" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dvZ" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwa" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwb" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwc" = (/obj/machinery/account_database{name = "Admin Accounts database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwd" = (/obj/structure/table,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwe" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwf" = (/obj/structure/table,/obj/item/weapon/implanter/explosive,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwg" = (/turf/simulated/floor,/area/admin)
-"dwh" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwi" = (/turf/unsimulated/wall,/area/tdome)
-"dwj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwl" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwo" = (/obj/machinery/door/airlock/glass{name = "Shuttle Bay"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dwp" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwq" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwr" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dws" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwt" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome)
-"dwu" = (/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome)
-"dwv" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome)
-"dww" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwx" = (/turf/simulated/wall/r_wall,/area/adminconstruction)
-"dwy" = (/obj/structure/cult/talisman,/obj/item/weapon/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwz" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/admin)
-"dwA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/rack,/obj/item/weapon/grenade/clusterbuster/smoke,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwC" = (/obj/structure/table/reinforced{dir = 4; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwD" = (/obj/structure/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dwF" = (/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/adminconstruction)
-"dwG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dwH" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwI" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
-"dwJ" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome)
-"dwK" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome)
-"dwL" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dwM" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dwN" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome)
-"dwO" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome)
-"dwP" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome)
-"dwQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome)
-"dwR" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dwS" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dwT" = (/obj/machinery/door/window{dir = 1; name = "Suit Storage"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dwU" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin)
-"dwV" = (/obj/structure/rack,/obj/item/clothing/shoes/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dwW" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dwX" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dwY" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome)
-"dwZ" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dxa" = (/obj/structure/rack,/obj/item/clothing/gloves/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dxb" = (/obj/structure/rack,/obj/item/weapon/ninja_manuscript,/obj/item/clothing/mask/gas/voice/space_ninja/scar,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dxc" = (/obj/structure/rack,/obj/item/clothing/suit/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin)
-"dxd" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxe" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxf" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxg" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome)
-"dxh" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin)
-"dxi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxk" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxl" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxm" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxn" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxo" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxp" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxq" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxr" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxs" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxt" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxv" = (/obj/structure/table/reinforced{dir = 4; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"dxw" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxx" = (/obj/item/device/camera,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxy" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxz" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve)
-"dxA" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "80"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dxB" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dxC" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxD" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome)
-"dxE" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome)
-"dxF" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxG" = (/obj/machinery/door/poddoor{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxH" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome)
-"dxI" = (/turf/simulated/floor,/area/tdome)
-"dxJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome)
-"dxK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxL" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxM" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"dxN" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"dxO" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome)
-"dxP" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome)
-"dxQ" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"dxR" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dxS" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dxT" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"dxU" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"dxV" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dxW" = (/obj/structure/rack,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dxX" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"dxY" = (/turf/simulated/floor/bluegrid,/area/tdome)
-"dxZ" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome)
-"dya" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"dyb" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome)
-"dyc" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome)
-"dyd" = (/obj/structure/table,/obj/random/powercell,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dye" = (/obj/structure/table,/obj/random/tool,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyf" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
-"dyg" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/tdome)
-"dyh" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
-"dyi" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyj" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyk" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dyl" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
-"dym" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyn" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyo" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyp" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin)
-"dyq" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dyr" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
-"dys" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dyt" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/tdome)
-"dyu" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dyv" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome)
-"dyw" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
-"dyx" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"dyy" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome)
-"dyz" = (/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyA" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyB" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyC" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyD" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyE" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyG" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyH" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyI" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyJ" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyK" = (/obj/structure/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyL" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyM" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyN" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyO" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyP" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyQ" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyR" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyS" = (/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyU" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin)
-"dyV" = (/obj/item/trash/cheesie,/turf/space,/area)
-"dyW" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/derelict/ship)
-"dyX" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/derelict/ship)
-"dyY" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/derelict/ship)
-"dyZ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/derelict/ship)
-"dza" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/derelict/ship)
-"dzb" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzc" = (/obj/machinery/sleeper,/obj/machinery/light{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzd" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dze" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/derelict/ship)
-"dzf" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/derelict/ship)
-"dzg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/space,/area/derelict/ship)
-"dzh" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/derelict/ship)
-"dzi" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzj" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzk" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"; dir = 2},/area/derelict/ship)
-"dzl" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/derelict/ship)
-"dzm" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/ship)
-"dzn" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/space,/area/derelict/ship)
-"dzo" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/derelict/ship)
-"dzp" = (/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzq" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/derelict/ship)
-"dzr" = (/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzs" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzw" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzx" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzy" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzz" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/derelict/ship)
-"dzA" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzB" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzC" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/derelict/ship)
-"dzD" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/derelict/ship)
-"dzE" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (WEST)"; icon_state = "burst_l"; dir = 8},/turf/space,/area/derelict/ship)
-"dzF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzG" = (/obj/structure/table,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzH" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/derelict/ship)
-"dzI" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzJ" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzK" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzN" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzO" = (/obj/structure/table,/obj/item/weapon/gun/energy/laser/retro,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzR" = (/obj/structure/table,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dzT" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area)
-"dzV" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area)
-"dzW" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area)
-"dzX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area)
-"dzY" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dzZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAa" = (/obj/machinery/door/airlock/glass{name = "Living Module"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAb" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAc" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area)
-"dAd" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area)
-"dAe" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area)
-"dAf" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area)
-"dAg" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area)
-"dAh" = (/obj/machinery/door/window/northright,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAk" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area)
-"dAl" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/derelict/ship)
-"dAm" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/derelict/ship)
-"dAn" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area)
-"dAo" = (/obj/item/weapon/table_parts,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area)
-"dAp" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area)
-"dAq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dAr" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAs" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area)
-"dAt" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area)
-"dAu" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area)
-"dAv" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAw" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAx" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAy" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAz" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAA" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAB" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAC" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAD" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAE" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAF" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/derelict/ship)
-"dAG" = (/obj/machinery/door/poddoor{id = "oldship_gun"; name = "Pod Bay Door"},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dAH" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "oldship_gun"},/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dAI" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/plating,/area/derelict/ship)
-"dAJ" = (/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAK" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAL" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/derelict/ship)
-"dAM" = (/obj/machinery/computer/pod{id = "oldship_gun"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAN" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAO" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
-"dAP" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area)
-"dAQ" = (/obj/machinery/camera{c_tag = "North Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area)
-"dAR" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"dAS" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat)
-"dAT" = (/turf/simulated/wall/r_wall,/area/tcommsat/computer)
-"dAU" = (/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dAV" = (/turf/space,/area/turret_protected/tcomsat)
-"dAW" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera{c_tag = "West Wing North"; dir = 2; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat)
-"dAX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dAY" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dAZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBb" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBc" = (/obj/item/weapon/coin/clown,/turf/simulated/floor/engine,/area/tcommsat/computer)
-"dBd" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor,/area/tcommsat/computer)
-"dBe" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dBf" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/tcommsat/computer)
-"dBg" = (/obj/machinery/camera{c_tag = "Lounge"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor,/area/tcommsat/computer)
-"dBh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor,/area/tcommsat/computer)
-"dBi" = (/turf/simulated/floor,/area/tcommsat/computer)
-"dBj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat)
-"dBk" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/meter,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBo" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBp" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat)
-"dBq" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/tcommsat/computer)
-"dBr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dBs" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer)
-"dBt" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor,/area/tcommsat/computer)
-"dBu" = (/turf/simulated/floor/engine,/area/tcommsat/computer)
-"dBv" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer)
-"dBw" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat)
-"dBx" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBy" = (/obj/machinery/atmospherics/valve/digital{_color = "cyan"; icon_state = "valve1"; name = "Mixed Air Outlet Valve"; open = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBz" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBB" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat)
-"dBC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/tcommsat/computer)
-"dBD" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dBE" = (/obj/machinery/computer/telecomms/monitor{network = list("tcommsat")},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer)
-"dBF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/tcommsat/computer)
-"dBG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dBH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area/turret_protected/tcomsat)
-"dBI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dBJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dBK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dBL" = (/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat)
-"dBM" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/tcommsat/computer)
-"dBN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/computer/telecomms/traffic,/turf/simulated/floor,/area/tcommsat/computer)
-"dBO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dBP" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/tcommsat/computer)
-"dBQ" = (/obj/machinery/computer/telecomms/server{network = list("tcommsat")},/turf/simulated/floor,/area/tcommsat/computer)
-"dBR" = (/obj/item/weapon/spacecash,/turf/simulated/floor/engine,/area/tcommsat/computer)
-"dBS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dBT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/tcommsat/computer)
-"dBU" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/tcommsat/computer)
-"dBV" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer)
-"dBW" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/tcommsat/computer)
-"dBX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dBY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dBZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCa" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCb" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access_txt = "61"},/turf/simulated/floor,/area/tcommsat/computer)
-"dCc" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer)
-"dCd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer)
-"dCe" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/tcommsat/computer)
-"dCf" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer)
-"dCg" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10},/obj/machinery/power/apc{dir = 4; name = "Telecoms Sat. Control APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/computer)
-"dCh" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
-"dCi" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/tcommsat/computer)
-"dCj" = (/obj/machinery/vending/cola,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/tcommsat/computer)
-"dCk" = (/obj/item/weapon/cigbutt,/obj/machinery/light,/turf/simulated/floor,/area/tcommsat/computer)
-"dCl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dCm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/tcommsat/computer)
-"dCn" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/tcommsat/computer)
-"dCo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area)
-"dCp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"dCq" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"dCr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCs" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dCt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/turret_protected/tcomsat)
-"dCu" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dCv" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor,/area/tcommsat/computer)
-"dCw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 1; on = 1},/turf/simulated/floor,/area/tcommsat/computer)
-"dCx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/tcommsat/computer)
-"dCy" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/tcommsat/computer)
-"dCz" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Telecomms Server Access"; req_access = null; req_access_txt = "61"},/obj/machinery/door/window/brigdoor{dir = 4; name = "Telecomms Server Access"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber)
-"dCA" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber)
-"dCB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/tcommsat/computer)
-"dCC" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Lounge"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/computer)
-"dCD" = (/obj/machinery/turret{lasers = 1; lasertype = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"dCE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dCF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dCG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dCH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dCI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dCJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
-"dCK" = (/obj/machinery/door/window/brigdoor{dir = 1; name = "Telecomms Server Access"; req_access_txt = "61"},/obj/machinery/door/window/brigdoor{dir = 2; name = "Telecomms Server Access"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber)
-"dCL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
-"dCM" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dCN" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dCP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCQ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dCR" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCS" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Telecoms Sat. Central Compartment APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCT" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCV" = (/obj/machinery/camera{c_tag = "Central Compartment North"; dir = 2; network = list("Tcomsat")},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCW" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCX" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dCY" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dCZ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dDa" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dDd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dDf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDg" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dDh" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDj" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDk" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dDm" = (/obj/structure/table,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/camera{c_tag = "Telecoms Storage"; network = list("Tcomsat")},/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDo" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDp" = (/obj/machinery/camera{c_tag = "West Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area)
-"dDq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDr" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/camera{c_tag = "West Wing Middle"; dir = 8; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat)
-"dDs" = (/obj/machinery/telecomms/broadcaster/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDt" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDu" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dDv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat)
-"dDx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dDy" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDz" = (/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDA" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDB" = (/obj/machinery/camera{c_tag = "East Solars"; dir = 4; network = list("Tcomsat")},/turf/space,/area)
-"dDC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDD" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomsat)
-"dDE" = (/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDF" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDG" = (/obj/machinery/telecomms/bus/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDH" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/telecomms/hub/preset,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDJ" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDK" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDL" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDM" = (/obj/structure/sign/nosmoking_2{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dDN" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dDO" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dDR" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dDS" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDT" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDU" = (/obj/machinery/telecomms/receiver/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dDV" = (/obj/machinery/telecomms/receiver/preset_right,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDW" = (/obj/machinery/telecomms/bus/preset_three,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDX" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dDY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat)
-"dDZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dEa" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dEb" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dEc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dEd" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dEe" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dEf" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat)
-"dEg" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dEh" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
-"dEi" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dEj" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dEk" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dEl" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
-"dEm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dEn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dEo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"dEp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dEq" = (/obj/machinery/camera{c_tag = "Central Compartment South"; dir = 1; network = list("Tcomsat")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dEr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
-"dEs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
-"dEt" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dEu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat)
-"dEv" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/machinery/light{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dEw" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomfoyer)
-"dEx" = (/obj/machinery/turret{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEy" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Foyer APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/turret_protected/tcomfoyer)
-"dEz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer)
-"dEA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion1"; lethal = 1; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Telecoms Foyer"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/turret_protected/tcomfoyer)
-"dEC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer)
-"dED" = (/obj/machinery/turret{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEE" = (/obj/structure/window/reinforced,/obj/machinery/light{dir = 1},/turf/space,/area/turret_protected/tcomsat)
-"dEF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat)
-"dEG" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dEH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dEI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms West Wing"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomfoyer)
-"dEJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms East Wing"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomfoyer)
-"dER" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat)
-"dES" = (/obj/machinery/camera{c_tag = "East Wing South"; dir = 8; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat)
-"dET" = (/obj/machinery/camera{c_tag = "West Wing South"; dir = 4; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat)
-"dEU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat)
-"dEV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dEW" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/turret_protected/tcomfoyer)
-"dEX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEY" = (/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dEZ" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/turret_protected/tcomfoyer)
-"dFa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/turret_protected/tcomfoyer)
-"dFb" = (/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area/turret_protected/tcomfoyer)
-"dFd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access_txt = "61"},/turf/simulated/floor,/area/turret_protected/tcomfoyer)
-"dFe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dFf" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFg" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance)
-"dFh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFi" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFk" = (/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Foyer"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion3"; lethal = 0; name = "Telecoms Foyer turret control"; pixel_y = 29; req_access = list(61)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFl" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFm" = (/turf/simulated/floor,/area/tcommsat/entrance)
-"dFn" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/monitor{name = "telecoms power monitoring"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "bot"},/area/tcommsat/entrance)
-"dFo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dFp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/tcommsat/entrance)
-"dFq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/tcommsat/entrance)
-"dFr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Power Room West"; dir = 1; network = list("Tcomsat")},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Power Room East"; dir = 1; network = list("Tcomsat")},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFx" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access_txt = "61"},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFz" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance)
-"dFB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/tcommsat/entrance)
-"dFC" = (/obj/machinery/camera{c_tag = "Entrance North"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/tcommsat/entrance)
-"dFD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/tcommsat/entrance)
-"dFE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFF" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/tcommsat/entrance)
-"dFG" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFJ" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Teleporter APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFK" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"dFL" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance)
-"dFM" = (/obj/item/weapon/cell,/turf/simulated/floor,/area/tcommsat/entrance)
-"dFN" = (/obj/structure/closet/malf/suits,/turf/simulated/floor,/area/tcommsat/entrance)
-"dFO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area)
-"dFP" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dFQ" = (/obj/machinery/camera/xray{c_tag = "External Airlock"; network = list("Tcomsat")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dFR" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dFS" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance)
-"dFT" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor,/area/tcommsat/entrance)
-"dFU" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance)
-"dFV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"dFW" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
-"dFX" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/tcommsat/entrance)
-"dFY" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
-"dFZ" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/tcommsat/entrance)
-"dGa" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/tcommsat/entrance)
-"dGb" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dGc" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dGd" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/tcommsat/entrance)
-"dGe" = (/obj/machinery/camera{c_tag = "South Solars"; dir = 4; network = list("Tcomsat")},/turf/space,/area)
-"dGf" = (/turf/space,/area/syndicate_station/commssat)
-"dGg" = (/turf/simulated/wall/r_wall,/area/AIsattele)
-"dGh" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGi" = (/obj/machinery/teleport/station,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGj" = (/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGk" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGl" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGm" = (/obj/structure/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGn" = (/obj/item/weapon/cell,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGo" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGp" = (/turf/space,/area/AIsattele)
-"dGq" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGr" = (/obj/structure/lattice,/turf/space,/area/AIsattele)
-"dGs" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGu" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/AIsattele)
-"dGv" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dGw" = (/turf/simulated/wall,/area/constructionsite/maintenance)
-"dGx" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance)
-"dGy" = (/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance)
-"dGz" = (/turf/simulated/wall,/area/constructionsite/bridge)
-"dGA" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/bridge)
-"dGB" = (/turf/simulated/floor/airless,/area/constructionsite/bridge)
-"dGC" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance)
-"dGD" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/bridge)
-"dGE" = (/turf/simulated/floor/airless,/area)
-"dGF" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor/airless,/area/constructionsite/bridge)
-"dGG" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dGH" = (/turf/simulated/floor/airless,/area/constructionsite/hallway/fore)
-"dGI" = (/turf/simulated/wall,/area/constructionsite/hallway/fore)
-"dGJ" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dGK" = (/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/airless,/area/constructionsite/hallway/fore)
-"dGL" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor/airless,/area/constructionsite/hallway/fore)
-"dGM" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dGN" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dGO" = (/turf/simulated/wall,/area/constructionsite/storage)
-"dGP" = (/turf/simulated/floor/airless,/area/constructionsite/storage)
-"dGQ" = (/obj/machinery/door/airlock/glass_science,/turf/simulated/floor/airless,/area/constructionsite/storage)
-"dGR" = (/obj/machinery/door/airlock/glass_science,/turf/simulated/floor/airless,/area/constructionsite/hallway/fore)
-"dGS" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/airless,/area/constructionsite/hallway/fore)
-"dGT" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/airless,/area/constructionsite/storage)
-"dGU" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/storage)
-"dGV" = (/turf/simulated/wall,/area/solar/constructionsite)
-"dGW" = (/turf/simulated/floor/plating/airless,/area/solar/constructionsite)
-"dGX" = (/obj/structure/lattice,/turf/space,/area/solar/constructionsite)
-"dGY" = (/turf/space,/area/solar/constructionsite)
-"dGZ" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/solar/constructionsite)
-"dHa" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation)
-"dHb" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation)
-"dHc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHg" = (/turf/simulated/wall,/area/djstation)
-"dHh" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dHi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"dHj" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/djstation)
-"dHk" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/djstation)
-"dHl" = (/turf/simulated/floor/plating,/area/djstation)
-"dHm" = (/turf/simulated/wall,/area/constructionsite/ai)
-"dHn" = (/turf/simulated/floor/plating/airless,/area/constructionsite/ai)
-"dHo" = (/turf/simulated/floor/airless{tag = "icon-bcircuit"; icon_state = "bcircuit"},/area/constructionsite/ai)
-"dHp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"dHr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation)
-"dHs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation)
-"dHt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation)
-"dHu" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/djstation)
-"dHv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation)
-"dHw" = (/obj/machinery/telecomms/relay/preset/ruskie,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/djstation)
-"dHy" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/djstation)
-"dHz" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/djstation)
-"dHA" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/djstation)
-"dHB" = (/obj/machinery/driver_button{id = "constructiondriver0"; name = "Construction Driver #0"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation)
-"dHC" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai)
-"dHD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation)
-"dHG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation)
-"dHH" = (/obj/machinery/power/terminal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHI" = (/obj/item/device/multitool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHJ" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/djstation)
-"dHK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHM" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver0"; name = "construction driver #0"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation)
-"dHN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/djstation)
-"dHO" = (/obj/machinery/door/poddoor{id = "constructiondriver0"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation)
-"dHP" = (/turf/simulated/floor/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/constructionsite/ai)
-"dHQ" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation)
-"dHR" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation)
-"dHT" = (/obj/structure/table,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor/plating,/area/djstation)
-"dHU" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation)
-"dHV" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation)
-"dHX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation)
-"dHY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation)
-"dHZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation)
-"dIa" = (/obj/structure/rack,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/turf/simulated/floor/plating,/area/djstation)
-"dIb" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver1"; name = "construction driver #1"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation)
-"dIc" = (/obj/machinery/door/poddoor{id = "constructiondriver1"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation)
-"dId" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"dIe" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation)
-"dIf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/djstation)
-"dIg" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/djstation)
-"dIh" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating,/area/djstation)
-"dIi" = (/obj/machinery/driver_button{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation)
-"dIj" = (/obj/structure/lattice,/turf/space,/area/constructionsite/maintenance)
-"dIk" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dIl" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai)
-"dIm" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai)
-"dIn" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore)
-"dIo" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/turf/simulated/floor/plating,/area/djstation)
-"dIp" = (/obj/structure/rack,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/djstation)
-"dIq" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver2"; name = "construction driver #2"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation)
-"dIr" = (/obj/machinery/door/poddoor{id = "constructiondriver2"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation)
-"dIs" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating/airless,/area/constructionsite/ai)
-"dIt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation)
-"dIu" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIv" = (/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIx" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIy" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Office Linking"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice)
-"dIz" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIA" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIB" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIC" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/djstation)
-"dID" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/djstation)
-"dIE" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/fore)
-"dIF" = (/obj/structure/lattice,/turf/space,/area/constructionsite/hallway/fore)
-"dIG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation)
-"dIH" = (/turf/simulated/wall,/area/constructionsite/hallway/aft)
-"dII" = (/turf/simulated/floor/airless,/area/constructionsite/hallway/aft)
-"dIJ" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dIK" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIL" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIM" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation)
-"dIO" = (/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dIP" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dIQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dIR" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dIS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"dIT" = (/obj/structure/lattice,/turf/space,/area/constructionsite/hallway/aft)
-"dIU" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dIW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation)
-"dIX" = (/obj/structure/table,/obj/item/weapon/paper/djstation{info = "Welcome new owner!
You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
- Equip yourself with a multi-tool
- Use the multitool on each machine, that is the broadcaster, receiver and the relay.
- Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
- 145.7 - Common Channel
- 144.7 - Private AI Channel
- 135.9 - Security Channel
- 135.7 - Engineering Channel
- 135.5 - Medical Channel
- 135.3 - Command Channel
- 135.1 - Science Channel
- 134.7 - Supply Channel
"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIY" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dIZ" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dJa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation)
-"dJb" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dJc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dJd" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"dJe" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJf" = (/obj/structure/closet,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dJg" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/djstation)
-"dJh" = (/obj/machinery/door/airlock{name = "Restroom"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation)
-"dJi" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJj" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation)
-"dJk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJl" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/aft)
-"dJm" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dJn" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dJo" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation)
-"dJp" = (/obj/structure/toilet{pixel_y = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation)
-"dJq" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJr" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dJs" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dJt" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"dJu" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJv" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/constructionsite/site)
-"dJw" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/site)
-"dJx" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/site)
-"dJy" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJz" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_station_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJA" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"dJB" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/site)
-"dJC" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJD" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJE" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJF" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_door = "engineering_shuttle_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJG" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJH" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJI" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_station_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/djstation)
-"dJJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/djstation)
-"dJK" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJL" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJM" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Engineering Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_station_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/djstation)
-"dJO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "engineering_station_pump"},/turf/simulated/floor/plating,/area/djstation)
-"dJP" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/djstation)
-"dJQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/site)
-"dJR" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site)
-"dJS" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJT" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site)
-"dJU" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1379; id_tag = "engineering_station_airlock"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"; tag_airpump = "engineering_station_pump"; tag_chamber_sensor = "engineering_station_sensor"; tag_exterior_door = "engineering_station_outer"; tag_interior_door = "engineering_station_inner"},/turf/simulated/floor/plating,/area/djstation)
-"dJV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_station_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_station_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/djstation)
-"dJW" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/constructionsite/site)
-"dJX" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_station_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/space,/area)
-"dJY" = (/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical)
-"dJZ" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/medical)
-"dKa" = (/obj/machinery/sleeper,/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical)
-"dKb" = (/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics)
-"dKc" = (/turf/simulated/floor/airless,/area/constructionsite/atmospherics)
-"dKd" = (/turf/simulated/floor/plating/airless,/area/constructionsite/medical)
-"dKe" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/wall,/area/constructionsite/medical)
-"dKf" = (/obj/structure/lattice,/turf/space,/area/constructionsite/medical)
-"dKg" = (/turf/space,/area/constructionsite/medical)
-"dKh" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/wall,/area/constructionsite/hallway/aft)
-"dKi" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dKj" = (/turf/space,/area/constructionsite/hallway/aft)
-"dKk" = (/turf/simulated/wall,/area/constructionsite/atmospherics)
-"dKl" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics)
-"dKm" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "d_air_in"; name = "Mixed Air Supply Control"; output_tag = "d_air_out"; pressure_setting = 2000; sensors = list("d_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics)
-"dKn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/constructionsite/atmospherics)
-"dKo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "d_air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics)
-"dKp" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1443; id_tag = "d_air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics)
-"dKq" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 6},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics)
-"dKr" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall,/area/constructionsite/atmospherics)
-"dKs" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id = "d_air_in"; on = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics)
-"dKt" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics)
-"dKu" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft)
-"dKv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics)
-"dKw" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "d_o2_in"; name = "Oxygen Supply Control"; output_tag = "d_o2_out"; sensors = list("d_o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics)
-"dKx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "d_o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics)
-"dKy" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "d_o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics)
-"dKz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "d_o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics)
-"dKA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics)
-"dKB" = (/turf/simulated/wall,/area/constructionsite)
-"dKC" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite)
-"dKD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "d_n2_in"; name = "Nitrogen Supply Control"; output_tag = "d_n2_out"; sensors = list("d_n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics)
-"dKE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "d_n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics)
-"dKF" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "d_n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics)
-"dKG" = (/turf/simulated/floor/plating/airless,/area/constructionsite)
-"dKH" = (/obj/structure/lattice,/turf/space,/area/constructionsite)
-"dKI" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/airless,/area/constructionsite/atmospherics)
-"dKJ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "d_n2_in"; on = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics)
-"dKK" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics)
-"dKL" = (/turf/simulated/floor/airless,/area/constructionsite)
-"dKM" = (/turf/space,/area/constructionsite)
-"dKN" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite)
-"dKO" = (/turf/simulated/wall,/area/constructionsite/engineering)
-"dKP" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; id_tag = null; locked = 0; name = "Engine Access"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dKQ" = (/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dKR" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dKS" = (/obj/structure/lattice,/turf/space,/area/constructionsite/engineering)
-"dKT" = (/turf/space,/area/constructionsite/engineering)
-"dKU" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dKV" = (/turf/simulated/mineral,/area)
-"dKW" = (/obj/machinery/floodlight{in_use = 1},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dKX" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dKY" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dKZ" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLa" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLb" = (/obj/machinery/door/airlock/external{name = "Crackden Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLc" = (/obj/item/weapon/reagent_containers/drugs/baggie,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLd" = (/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLe" = (/obj/machinery/door/airlock/external{name = "Plain Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLg" = (/obj/item/ammo_casing{pixel_y = 3},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLh" = (/obj/effect/decal/cleanable/oil,/obj/item/ammo_casing{pixel_x = -4; pixel_y = -6},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLi" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 10},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLj" = (/obj/machinery/power/apc{pixel_x = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLk" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLl" = (/obj/structure/table,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLm" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLn" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLo" = (/obj/machinery/chem_master,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLq" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLr" = (/obj/structure/table,/obj/machinery/bunsen_burner,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLs" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLt" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dLu" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plating,/area/exploration/methlab)
-"dLv" = (/obj/machinery/power/smes,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dLw" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dLx" = (/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering)
-"dLy" = (/obj/machinery/field_generator,/turf/simulated/floor/plating/airless,/area)
-"dLz" = (/turf/simulated/mineral,/area/mine/unexplored)
-"dLA" = (/turf/space,/area/syndicate_station/mining)
-"dLB" = (/turf/simulated/floor/plating/airless/asteroid,/area)
-"dLC" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area)
-"dLD" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area)
-"dLE" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area)
-"dLF" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area)
-"dLG" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1)
-"dLH" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1)
-"dLI" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1)
-"dLJ" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/unexplored)
-"dLK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/research_outpost/hallway)
-"dLL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dLM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dLN" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/space,/area)
-"dLO" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/structure/lattice,/turf/space,/area)
-"dLP" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dLQ" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dLR" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dLS" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored)
-"dLT" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"dLU" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"dLV" = (/obj/structure/transit_tube,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway)
-"dLW" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway)
-"dLX" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
-"dLY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dLZ" = (/obj/structure/transit_tube,/obj/structure/lattice,/turf/space,/area)
-"dMa" = (/obj/structure/transit_tube{icon_state = "W-SE"},/obj/structure/lattice,/turf/space,/area)
-"dMb" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SW"},/turf/space,/area)
-"dMc" = (/obj/structure/transit_tube{icon_state = "S-NE"},/obj/structure/lattice,/turf/space,/area)
-"dMd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMe" = (/obj/structure/closet/hydrant{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMf" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMg" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dMh" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dMi" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dMj" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
-"dMk" = (/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
-"dMl" = (/turf/simulated/floor,/area/research_outpost/hallway)
-"dMm" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/research_outpost/hallway)
-"dMn" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-NE"},/turf/space,/area)
-"dMo" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/obj/structure/lattice,/turf/space,/area)
-"dMp" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "N-S"},/turf/space,/area)
-"dMq" = (/turf/simulated/wall/r_wall,/area/research_outpost/spectro)
-"dMr" = (/obj/structure/rack,/obj/item/stack/sheet/metal{pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass,/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMs" = (/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMt" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMu" = (/turf/simulated/wall,/area/research_outpost/maintstore1)
-"dMv" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/table,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1)
-"dMw" = (/obj/structure/transit_tube{icon_state = "E-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1)
-"dMx" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/maintstore1)
-"dMy" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1)
-"dMz" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/research_outpost/maintstore1)
-"dMA" = (/turf/simulated/wall,/area/research_outpost/hallway)
-"dMB" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/research_outpost/hallway)
-"dMC" = (/obj/machinery/door_control{id = "rdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/research_outpost/hallway)
-"dMD" = (/obj/machinery/camera{c_tag = "Research Outpost Hallway Fore"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/hallway)
-"dME" = (/obj/machinery/door_control{id = "rdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/research_outpost/hallway)
-"dMF" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area)
-"dMG" = (/obj/structure/transit_tube{icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area)
-"dMH" = (/obj/spacepod/random,/turf/space,/area)
-"dMI" = (/turf/simulated/mineral/random,/area/mine/unexplored)
-"dMJ" = (/obj/structure/transit_tube{icon_state = "N-SW"},/obj/structure/lattice,/turf/space,/area)
-"dMK" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dML" = (/obj/machinery/light/small,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
-"dMM" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Auxiliary Storage"; req_access_txt = "0"; req_one_access_txt = "65;12"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/maintstore1)
-"dMN" = (/turf/simulated/floor,/area/research_outpost/maintstore1)
-"dMO" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/maintstore1)
-"dMP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/camera{c_tag = "Research Outpost Auxiliary Storage"; dir = 8; network = list("Research","SS13")},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/maintstore1)
-"dMQ" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/research_outpost/hallway)
-"dMR" = (/turf/simulated/floor/carpet,/area/research_outpost/hallway)
-"dMS" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rminingdorm1"; name = "Dorm 1"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway)
-"dMT" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rdorm2"; name = "Dorm 2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway)
-"dMU" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/lattice,/turf/space,/area)
-"dMV" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area)
-"dMW" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/structure/lattice,/turf/space,/area)
-"dMX" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "W-NE"},/turf/space,/area)
-"dMY" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area)
-"dMZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
-"dNa" = (/obj/structure/reagent_dispensers/coolanttank,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dNb" = (/turf/simulated/wall/r_wall,/area/research_outpost/sample)
-"dNc" = (/obj/machinery/power/apc{dir = 8; name = "Auxiliary Storage APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/research_outpost/maintstore1)
-"dNd" = (/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/maintstore1)
-"dNe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/maintstore1)
-"dNf" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/botany{pixel_x = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/research_outpost/maintstore1)
-"dNg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/research_outpost/hallway)
-"dNh" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/research_outpost/hallway)
-"dNi" = (/turf/simulated/wall/r_wall,/area/research_outpost/atmos)
-"dNj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dNn" = (/obj/machinery/door/airlock/external,/turf/simulated/floor,/area/mine/abandoned)
-"dNo" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "S-NE"},/turf/space,/area)
-"dNp" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/turf/simulated/floor{icon_state = "dark"},/area/research_outpost/spectro)
-"dNq" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
-"dNr" = (/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dNs" = (/obj/machinery/door/airlock/research{name = "Spectrometry Lab Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
-"dNt" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNu" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNv" = (/obj/structure/table,/obj/machinery/light{dir = 1},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNw" = (/obj/structure/table,/obj/item/weapon/storage/box/solution_trays,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/sample)
-"dNx" = (/obj/machinery/door/window/westleft{dir = 1; name = "Sample Preparation Loading"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dNy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/research_outpost/sample)
-"dNz" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
-"dNA" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
-"dNB" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1)
-"dNC" = (/obj/structure/sink{pixel_y = 30},/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
-"dND" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
-"dNE" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/research_outpost/hallway)
-"dNF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dNG" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/atmos)
-"dNH" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNI" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r"; level = 2},/obj/machinery/meter,/obj/machinery/power/apc{dir = 1; name = "Outpost Atmospherics APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNK" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNL" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/atmos)
-"dNM" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/atmos)
-"dNN" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dNO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dNP" = (/turf/simulated/floor,/area/mine/abandoned)
-"dNQ" = (/obj/machinery/radiocarbon_spectrometer,/turf/simulated/floor{icon_state = "dark"},/area/research_outpost/spectro)
-"dNR" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
-"dNS" = (/obj/machinery/power/apc{dir = 4; name = "Mass Spectrometry APC"; pixel_x = 24; pixel_y = 0; pixel_x = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dNT" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 3; pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNU" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNV" = (/obj/structure/table,/obj/machinery/bunsen_burner,/obj/item/stack/sheet/mineral/plasma,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dNX" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/sample)
-"dNY" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 2},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"dNZ" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
-"dOa" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1)
-"dOb" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall,/area/research_outpost/hallway)
-"dOc" = (/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
-"dOd" = (/obj/machinery/door_control{id = "rbath"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
-"dOe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rbath"; name = "Bathroom"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway)
-"dOf" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dOg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dOh" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b"; initialize_directions = 11; level = 2; name = "pipe manifold"},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOl" = (/obj/machinery/door/window/westleft,/turf/simulated/floor,/area/research_outpost/atmos)
-"dOm" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/atmos)
-"dOn" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dOo" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned)
-"dOp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dOq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dOr" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/machinery/camera{c_tag = "Research Outpost Mass Spectrometry"; dir = 8; network = list("Research","SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dOs" = (/obj/machinery/chem_dispenser{broken_on_spawn = 1; energy = 0; recharged = 300},/obj/item/weapon/paper{info = "Until I can get one of the repair crews in from Orion to look at it, no-one is to touch this thing. And when I find out who thought it would be a good idea to do that with the emitter from the lab, you're finished here!"; name = "Out of Order"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dOt" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dOu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dOv" = (/obj/machinery/light/small{dir = 4},/obj/machinery/power/apc{dir = 4; name = "Sample Preparation APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dOw" = (/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
-"dOx" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
-"dOy" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Loading"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/anomaly)
-"dOz" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dOA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dOB" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/obj/structure/sign/nosmoking_1{pixel_x = -32},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dOE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/atmos)
-"dOF" = (/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTH)"; icon_state = "pwall"; dir = 1},/area)
-"dOG" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-pwall (SOUTHWEST)"; icon_state = "pwall"; dir = 10},/area)
-"dOH" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dOI" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dOJ" = (/turf/space,/area/mine/unexplored)
-"dOK" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dOL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dOM" = (/obj/machinery/chem_master,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dON" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dOO" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/camera{c_tag = "Research Outpost Sample Preparation"; dir = 1; network = list("Research","SS13")},/obj/item/weapon/reagent_containers/glass/beaker/water,/obj/item/weapon/reagent_containers/glass/beaker/fuel,/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dOP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dOQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample)
-"dOR" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dOS" = (/obj/machinery/power/apc{dir = 1; name = "Anomalous Materials APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/anomaly)
-"dOT" = (/obj/machinery/alarm{dir = 2; pixel_y = 25},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dOU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dOV" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dOW" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dOX" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/anomaly)
-"dOY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dOZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dPa" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPb" = (/obj/machinery/atmospherics/pipe/manifold4w{_color = "blue"; icon_state = "manifold4w-b"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b"; initialize_directions = 11; level = 2; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPe" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area)
-"dPf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"dPg" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area)
-"dPh" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area)
-"dPi" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area)
-"dPj" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dPk" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dPl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dPm" = (/turf/simulated/mineral/random,/area/mine/explored)
-"dPn" = (/turf/space,/area/mine/explored)
-"dPo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
-"dPp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro)
-"dPq" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/sample)
-"dPr" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
-"dPs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/research_outpost/sample)
-"dPt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dPu" = (/obj/structure/table,/obj/item/weapon/lighter/random,/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dPv" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly)
-"dPw" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly)
-"dPx" = (/obj/machinery/conveyor_switch{id = "anolaser"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dPy" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/obj/structure/plasticflaps,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/anomaly)
-"dPz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway)
-"dPA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway)
-"dPB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPC" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b"; level = 2; name = "pipe manifold"},/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b"; level = 2; name = "pipe manifold"},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPF" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dPG" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos)
-"dPH" = (/turf/simulated/mineral,/area/research_outpost/atmos)
-"dPI" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHEAST)"; icon_state = "pwall"; dir = 5},/area)
-"dPJ" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHWEST)"; icon_state = "pwall"; dir = 9},/area)
-"dPK" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-pwall (SOUTHEAST)"; icon_state = "pwall"; dir = 6},/area)
-"dPL" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dPM" = (/turf/simulated/wall,/area/mine/abandoned)
-"dPN" = (/turf/space,/area/shuttle/research/outpost)
-"dPO" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dPP" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dPQ" = (/obj/machinery/power/apc{dir = 1; name = "Outpost Lobby APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dPR" = (/obj/machinery/camera{c_tag = "Research Outpost Lobby"; dir = 2; network = list("Research","SS13")},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/light{dir = 1},/obj/structure/noticeboard/anomaly{icon_state = "nboard05"; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/research_outpost/hallway)
-"dPS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/science{desc = "A warning sign which reads 'MASS SPECTROMETRY'"; name = "\improper MASS SPECTROMETRY"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/research_outpost/hallway)
-"dPT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/research_outpost/hallway)
-"dPU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 2; pixel_y = 25},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dPV" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dPW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"dPX" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dPY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dPZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/sign/chemistry{desc = "A warning sign which reads 'SAMPLE PREPARATION'"; name = "\improper SAMPLE PREPARATION"; pixel_y = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dQa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQb" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dQc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dQd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dQe" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "delivery"},/area/research_outpost/anomaly)
-"dQf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/conveyor{dir = 1; id = "anolaser"},/obj/machinery/door/window/westleft{dir = 2; layer = 3.1; name = "laser testing"; req_access_txt = "65"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/research_outpost/anomaly)
-"dQg" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
-"dQh" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/research_outpost/hallway)
-"dQi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway)
-"dQj" = (/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dQk" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor,/area/research_outpost/power)
-"dQl" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r"; level = 2},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dQm" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dQn" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos)
-"dQo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/mineral,/area/research_outpost/atmos)
-"dQp" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dQq" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dQr" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dQs" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dQt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dQu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQC" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dQD" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock East"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"dQE" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dQF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dQG" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dQH" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/research_outpost/anomaly)
-"dQI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQL" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQM" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly)
-"dQN" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dQO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dQP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway)
-"dQQ" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dQR" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dQS" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dQT" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dQU" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos)
-"dQV" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area)
-"dQW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dQX" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dQY" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dQZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dRa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dRb" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRc" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRd" = (/obj/structure/table,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRe" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRf" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRg" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"dRi" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway)
-"dRj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dRk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRl" = (/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRm" = (/obj/structure/rack,/obj/item/clothing/head/welding,/obj/item/weapon/weldingtool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRn" = (/obj/structure/table,/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRo" = (/obj/machinery/light/small,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRp" = (/obj/machinery/camera{c_tag = "Research Outpost Anomalous Materials Lab"; dir = 8; network = list("Research","SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = -32},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/research_outpost/hallway)
-"dRr" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway)
-"dRs" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/engineering{name = "Power substation"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRt" = (/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRu" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRv" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRw" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dRx" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
-"dRy" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
-"dRz" = (/turf/simulated/mineral,/area/research_outpost/power)
-"dRA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dRB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dRC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dRD" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dRE" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dRF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dRG" = (/obj/structure/table,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRH" = (/obj/structure/table,/obj/item/device/camera,/obj/item/weapon/stamp,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRI" = (/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRJ" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dRK" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dRL" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
-"dRM" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{name = "Anomalous Materials Locker Room"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRN" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dRO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Research Outpost Hallway Engineering"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dRP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway)
-"dRQ" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/power/apc{dir = 8; name = "Outpost Power APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRT" = (/obj/machinery/portable_atmospherics/scrubber,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dRV" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
-"dRW" = (/obj/machinery/mass_driver{dir = 4; id = "research"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
-"dRX" = (/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
-"dRY" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area)
-"dRZ" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dSa" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dSb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dSc" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dSd" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dSe" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor,/area/mine/abandoned)
-"dSf" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dSg" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dSh" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSi" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSj" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSk" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSl" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dSm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dSn" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/research_outpost/hallway)
-"dSo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/research_outpost/hallway)
-"dSp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/research_outpost/anomaly)
-"dSq" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly)
-"dSr" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
-"dSs" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dSt" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dSu" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dSv" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/power/apc{dir = 4; name = "Outpost Hallways APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dSw" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dSx" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dSy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dSz" = (/obj/machinery/conveyor_switch{id = "archgunc"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dSA" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/research_outpost/power)
-"dSB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dSC" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dSD" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dSE" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"dSF" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dSG" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dSH" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dSI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dSJ" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"dSK" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dSL" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/wall,/area/research_outpost/entry)
-"dSM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSP" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_outpost_hatch"; locked = 1; name = "Research Outpost Dock Airlock"; req_access_txt = "13"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dSS" = (/obj/structure/sign/science,/turf/simulated/wall,/area/research_outpost/entry)
-"dST" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry)
-"dSU" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry)
-"dSV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/research_outpost/hallway)
-"dSX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dSY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dSZ" = (/obj/machinery/door/window/westleft{dir = 8; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/hallway)
-"dTa" = (/turf/simulated/floor,/area/research_outpost/anomaly)
-"dTb" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/camera{c_tag = "Research Outpost Anomaly Lab Storage"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
-"dTc" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dTd" = (/obj/structure/window/reinforced{dir = 4},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dTe" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dTf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dTg" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dTh" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dTi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dTj" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dTk" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dTl" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"dTm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SE"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway)
-"dTn" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
-"dTo" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
-"dTp" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/space,/area)
-"dTq" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area)
-"dTr" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dTs" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dTt" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dTu" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned)
-"dTv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dTw" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry)
-"dTx" = (/turf/simulated/floor,/area/research_outpost/entry)
-"dTy" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_outpost_dock"; pixel_y = 30; req_one_access_txt = "13;65"; tag_door = "research_outpost_hatch"},/turf/simulated/floor,/area/research_outpost/entry)
-"dTz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/entry)
-"dTA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dTB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry)
-"dTC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry)
-"dTD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/entry)
-"dTE" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dTF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dTG" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dTH" = (/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage)
-"dTI" = (/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage)
-"dTJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/research_outpost/tempstorage)
-"dTK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage)
-"dTL" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage)
-"dTM" = (/obj/machinery/camera{c_tag = "Research Outpost Hallway Central"; dir = 4; network = list("Research","SS13")},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dTN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dTO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway)
-"dTP" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway)
-"dTQ" = (/obj/structure/closet/secure_closet/scientist,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/anomaly)
-"dTR" = (/obj/machinery/door/window/westleft{dir = 2; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly)
-"dTS" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
-"dTT" = (/obj/machinery/door/window/westleft{dir = 2; name = "Monkey Pen"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dTU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
-"dTV" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dTW" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dTX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/engineering{name = "Power substation"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/power)
-"dTY" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
-"dTZ" = (/obj/structure/transit_tube{icon_state = "E-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
-"dUa" = (/obj/structure/transit_tube/station,/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway)
-"dUb" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUc" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUd" = (/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUe" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/harvesting)
-"dUf" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dUh" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dUi" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned)
-"dUj" = (/obj/structure/lattice,/turf/space,/area/mine/abandoned)
-"dUk" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dUl" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/abandoned)
-"dUm" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dUn" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dUo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "N-SE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dUp" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry)
-"dUq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/entry)
-"dUr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Research Shuttle Dock"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry)
-"dUs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry)
-"dUt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/entry)
-"dUu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/entry)
-"dUv" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dUw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dUx" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dUy" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/obj/machinery/conveyor_switch{id = "anotempload"; name = "conveyor switch"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dUz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dUA" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dUB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Temporary Storage"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dUC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dUD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUE" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUM" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUO" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway)
-"dUP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/research_outpost/hallway)
-"dUQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway)
-"dUR" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Research Outpost Hallway Starboard"; dir = 2; network = list("Research","SS13"); pixel_x = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dUS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dUT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUU" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dUV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/power/apc{dir = 4; name = "Exotic Particles APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dUW" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dUX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
-"dUY" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting)
-"dUZ" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting)
-"dVa" = (/obj/machinery/artifact_harvester,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting)
-"dVb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dVc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dVd" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned)
-"dVe" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dVf" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dVg" = (/turf/simulated/floor/airless,/area/mine/abandoned)
-"dVh" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned)
-"dVi" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"dVj" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned)
-"dVk" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned)
-"dVl" = (/obj/structure/rack,/turf/simulated/floor,/area/mine/abandoned)
-"dVm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "D-NE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dVn" = (/obj/structure/transit_tube{icon_state = "S-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/entry)
-"dVo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/research_outpost/entry)
-"dVp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Research Outpost Shuttle Dock"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/research_outpost/entry)
-"dVq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dVr" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry)
-"dVs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry)
-"dVt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry)
-"dVu" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/greencross,/turf/simulated/wall,/area/research_outpost/med)
-"dVv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dVw" = (/obj/machinery/power/apc{dir = 4; name = "Outpost Medbay APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dVx" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dVy" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/tempstorage)
-"dVz" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/research_outpost/tempstorage)
-"dVA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage)
-"dVB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dVC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dVD" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dVE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway)
-"dVF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/hallway)
-"dVG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM ONE'"; name = "\improper ISOLATION ROOM ONE"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM TWO'"; name = "\improper ISOLATION ROOM TWO"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM THREE'"; name = "\improper ISOLATION ROOM THREE"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/research_outpost/hallway)
-"dVO" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dVP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
-"dVQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/biohazard{pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/hallway)
-"dVR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/research_outpost/hallway)
-"dVS" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Exotic Particles Collection"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dVT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/harvesting)
-"dVU" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
-"dVV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/external{name = "Access Airlock"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dVW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
-"dVX" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting)
-"dVY" = (/obj/structure/table,/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting)
-"dVZ" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dWa" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dWb" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"dWc" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dWd" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dWe" = (/obj/structure/table,/turf/simulated/floor/airless,/area/mine/abandoned)
-"dWf" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dWg" = (/turf/simulated/mineral,/area/mine/explored)
-"dWh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dWi" = (/obj/structure/transit_tube/station{icon_state = "closed"; dir = 4},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/entry)
-"dWj" = (/obj/machinery/hologram/holopad,/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/research_outpost/entry)
-"dWk" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/research_outpost/entry)
-"dWl" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/research_outpost/entry)
-"dWm" = (/obj/structure/cable,/obj/structure/table,/obj/machinery/power/apc{dir = 0; name = "Outpost Shuttle Dock APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/research_outpost/entry)
-"dWn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dWo" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry)
-"dWp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry)
-"dWq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry)
-"dWr" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med)
-"dWs" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/research_outpost/med)
-"dWt" = (/obj/machinery/sleep_console,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/research_outpost/med)
-"dWu" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage)
-"dWv" = (/obj/machinery/conveyor{dir = 9; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/research_outpost/tempstorage)
-"dWw" = (/turf/simulated/wall/r_wall,/area/research_outpost/maint)
-"dWx" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dWy" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso1)
-"dWz" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso1)
-"dWA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation room one"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso1)
-"dWB" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso2)
-"dWC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso2)
-"dWD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation room two"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso2)
-"dWE" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso3)
-"dWF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso3)
-"dWG" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation Room Three"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso3)
-"dWH" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Storage"; req_access_txt = "0"; req_one_access_txt = "12;65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dWI" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
-"dWJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"dWK" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Long Term Storage"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dWL" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dWM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/research_outpost/harvesting)
-"dWN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
-"dWO" = (/obj/structure/table,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting)
-"dWP" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dWQ" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned)
-"dWR" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"dWS" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dWT" = (/turf/simulated/wall,/area/mine/unexplored)
-"dWU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = -32; pixel_y = 0},/turf/space,/area)
-"dWV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall,/area/research_outpost/entry)
-"dWW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SW"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dWX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dWY" = (/turf/simulated/wall,/area/research_outpost/entry)
-"dWZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/research_outpost/entry)
-"dXa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Expedition Prep"; req_access_txt = "65"},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"dXb" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/research_outpost/entry)
-"dXc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Temporary Storage Loading"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
-"dXd" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dXe" = (/obj/machinery/conveyor{dir = 5; id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dXf" = (/obj/machinery/conveyor{dir = 4; id = "anosample"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dXg" = (/obj/machinery/disposal/deliveryChute{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dXh" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Maintenance APC"; pixel_x = 24; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dXi" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso1)
-"dXj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso1)
-"dXk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso1)
-"dXl" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso2)
-"dXm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso2)
-"dXn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso2)
-"dXo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso3)
-"dXp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso3)
-"dXq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso3)
-"dXr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dXs" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool/bed,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dXt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dXu" = (/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"dXv" = (/obj/structure/sign/nosmoking_2{pixel_y = -32},/obj/machinery/camera{c_tag = "Research Outpost Exotic Particles Lab"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
-"dXw" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting)
-"dXx" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting)
-"dXy" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned)
-"dXz" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
-"dXA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dXG" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned)
-"dXH" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dXI" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dXJ" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dXK" = (/turf/simulated/wall,/area/research_outpost/gearstore)
-"dXL" = (/obj/structure/closet/excavation,/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXM" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXN" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"dXP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXQ" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXR" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dXS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Loading area"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/tempstorage)
-"dXT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/tempstorage)
-"dXU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/power/apc{dir = 1; name = "Temporary Storage APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/tempstorage)
-"dXV" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/research_outpost/tempstorage)
-"dXW" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;65"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint)
-"dXX" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint)
-"dXY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint)
-"dXZ" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint)
-"dYa" = (/obj/machinery/conveyor_switch{id = "anosample"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/maint)
-"dYb" = (/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dYc" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dYd" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYf" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room One APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYg" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYh" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYi" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room Two APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYj" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYl" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room Three APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dYn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dYo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"dYp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dYq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Long Term Storage APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dYr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dYs" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/research_outpost/longtermstorage)
-"dYt" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
-"dYu" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dYv" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"dYw" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned)
-"dYx" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"dYy" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dYz" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dYA" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/unexplored)
-"dYB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dYC" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dYD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"dYE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dYF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dYG" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Expedition Area APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Research Outpost Expedition Prep"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dYH" = (/turf/simulated/wall,/area/research_outpost/tempstorage)
-"dYI" = (/turf/simulated/floor,/area/research_outpost/tempstorage)
-"dYJ" = (/obj/machinery/mineral/input,/obj/machinery/conveyor_switch/oneway{id = "anominerals"; pixel_y = 16},/turf/simulated/floor{dir = 2; icon_state = "loadingarea"},/area/research_outpost/tempstorage)
-"dYK" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dYL" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dYM" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the isolation room cameras."; layer = 4; name = "Isolation Room Telescreen"; network = list("Anomaly Isolation"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dYN" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYO" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYP" = (/obj/machinery/conveyor_switch{id = "iso1"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 1"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso1)
-"dYQ" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYR" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYS" = (/obj/machinery/conveyor_switch{id = "iso2"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 2"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso2)
-"dYT" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYU" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYV" = (/obj/machinery/conveyor_switch{id = "iso3"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 3"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso3)
-"dYW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dYX" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dYY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"dYZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dZa" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
-"dZb" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/longtermstorage)
-"dZc" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"dZd" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area)
-"dZe" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area)
-"dZf" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
-"dZg" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dZh" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
-"dZi" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"dZj" = (/turf/simulated/wall,/area/mine/explored)
-"dZk" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dZl" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dZm" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored)
-"dZn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZp" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/airlock/glass_mining{name = "Equipment storage"; req_access_txt = "47"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZr" = (/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZs" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
-"dZt" = (/obj/machinery/conveyor_switch{id = "anotempload"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"dZu" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"dZv" = (/obj/machinery/conveyor_switch{id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"dZw" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"dZx" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"dZy" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1)
-"dZz" = (/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1)
-"dZA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1)
-"dZB" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2)
-"dZC" = (/obj/machinery/conveyor{dir = 1; id = "iso2"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2)
-"dZD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2)
-"dZE" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3)
-"dZF" = (/obj/machinery/conveyor{dir = 1; id = "iso3"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3)
-"dZG" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3)
-"dZH" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dZI" = (/obj/structure/dispenser,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"dZJ" = (/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/research_outpost/longtermstorage)
-"dZK" = (/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/research_outpost/longtermstorage)
-"dZL" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"dZM" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"dZN" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
-"dZO" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned)
-"dZP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dZQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
-"dZR" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
-"dZS" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dZT" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"dZU" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored)
-"dZV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"dZW" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZY" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore)
-"dZZ" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
-"eaa" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"eab" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/maint)
-"eac" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso1)
-"ead" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso1)
-"eae" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso1)
-"eaf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso2)
-"eag" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso2"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso2)
-"eah" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso2)
-"eai" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso3)
-"eaj" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso3"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso3)
-"eak" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso3)
-"eal" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"eam" = (/obj/structure/rack,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/machinery/power/apc{dir = 4; name = "Maintenance Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"ean" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
-"eao" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"eap" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"eaq" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"ear" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"eas" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"eat" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
-"eau" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"eav" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"eaw" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/explored)
-"eax" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/research_outpost/gearstore)
-"eay" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/research_outpost/gearstore)
-"eaz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"eaA" = (/obj/machinery/atmospherics/portables_connector{dir = 2},/obj/machinery/portable_atmospherics/canister/air,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window{dir = 4; name = "Air Tank Access"; req_access_txt = "0"; req_one_access_txt = "47;10;24"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"eaB" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/research_outpost/gearstore)
-"eaC" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore)
-"eaD" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
-"eaE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"eaF" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/research_outpost/maint)
-"eaG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1)
-"eaH" = (/obj/machinery/conveyor{dir = 1; id = "iso1"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1)
-"eaI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1)
-"eaJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2)
-"eaK" = (/obj/machinery/conveyor{dir = 1; id = "iso2"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2)
-"eaL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2)
-"eaM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
-"eaN" = (/obj/machinery/conveyor{dir = 1; id = "iso3"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
-"eaO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
-"eaP" = (/obj/structure/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"eaQ" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"eaR" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored)
-"eaS" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"eaT" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"eaU" = (/obj/effect/decal/remains/human,/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
-"eaV" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned)
-"eaW" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"eaX" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"eaY" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"eaZ" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"eba" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored)
-"ebb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area)
-"ebc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"ebd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"ebe" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 1; icon_state = "intact-c-f"; level = 1},/turf/simulated/wall,/area/research_outpost/gearstore)
-"ebf" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"ebg" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_inner"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = null},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 1; icon_state = "intact-c-f"; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"ebh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/explored)
-"ebi" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
-"ebj" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ebk" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ebl" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"ebm" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"ebn" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ebo" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"ebp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/explored)
-"ebq" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/explored)
-"ebr" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/explored)
-"ebs" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"ebt" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"ebu" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored)
-"ebv" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
-"ebw" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/research_outpost/gearstore)
-"ebx" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
-"eby" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/wall,/area/research_outpost/gearstore)
-"ebz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "research_pump"; tag_exterior_door = "research_outer"; frequency = 1379; id_tag = "research_airlock"; tag_interior_door = "research_inner"; pixel_x = -25; pixel_y = 0; req_access_txt = null; tag_chamber_sensor = "research_sensor"},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
-"ebA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "research_pump"},/turf/simulated/floor,/area/research_outpost/gearstore)
-"ebB" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/research_outpost/gearstore)
-"ebC" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ebD" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored)
-"ebE" = (/turf/simulated/wall/r_wall,/area/mine/explored)
-"ebF" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored)
-"ebG" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ebH" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ebI" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"ebJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"ebK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/explored)
-"ebL" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/explored)
-"ebM" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"ebN" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/explored)
-"ebO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/explored)
-"ebP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/explored)
-"ebQ" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ebR" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
-"ebS" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
-"ebT" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "research_sensor"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore)
-"ebU" = (/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore)
-"ebV" = (/obj/structure/ore_box,/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore)
-"ebW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"ebX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ebY" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"ebZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored)
-"eca" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"ecb" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/explored)
-"ecc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ecd" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"ece" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"ecf" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ecg" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ech" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored)
-"eci" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/unexplored)
-"ecj" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored)
-"eck" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"ecl" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned)
-"ecm" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
-"ecn" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
-"eco" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"ecp" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
-"ecq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
-"ecr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"ecs" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHEAST)"; icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
-"ect" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ecu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ecv" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ecw" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ecx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"ecy" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ecz" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
-"ecA" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
-"ecB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ecC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"ecD" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"ecE" = (/turf/simulated/mineral/random/high_chance,/area/mine/unexplored)
-"ecF" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored)
-"ecG" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored)
-"ecH" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored)
-"ecI" = (/turf/simulated/mineral/random/labormineral,/area/mine/unexplored)
-"ecJ" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"ecK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ecL" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ecM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/medical/iso_access{name = "\improper Patient Rooms"})
-"ecN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ecO" = (/turf/space,/area/shuttle/siberia/outpost)
-"ecP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"ecQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "39"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2)
-"ecR" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery)
-"ecS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery)
-"ecT" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/break_room)
-"ecU" = (/obj/machinery/camera{c_tag = "Supermatter Decontamination"; dir = 1; network = list("SS13")},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core)
-"ecV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"ecW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/closet/radiation,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core)
-"ecX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"ecY" = (/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"ecZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"eda" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/unexplored)
-"edb" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor,/area/mine/explored)
-"edc" = (/turf/simulated/floor,/area/mine/explored)
-"edd" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/explored)
-"ede" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"edf" = (/obj/machinery/camera{c_tag = "Labor Camp Bathroom"; dir = 8; network = list("SS13","Prison")},/obj/machinery/sleep_console,/turf/simulated/floor,/area/mine/explored)
-"edg" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor,/area/mine/explored)
-"edh" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
-"edi" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/explored)
-"edj" = (/obj/machinery/computer/shuttle_control/labor_camp/one_way,/turf/simulated/floor,/area/mine/explored)
-"edk" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/turf/simulated/floor,/area/mine/explored)
-"edl" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_camp_dock"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;1"; tag_door = "labor_camp_dock_hatch"},/turf/simulated/floor,/area/mine/explored)
-"edm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_camp_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/mine/explored)
-"edn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/mine/explored)
-"edo" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/explored)
-"edp" = (/obj/machinery/door/airlock/external{name = "Labor Camp Shuttle Airlock"},/turf/simulated/floor,/area/mine/explored)
-"edq" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/mine/explored)
-"edr" = (/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored)
-"eds" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor,/area/mine/explored)
-"edt" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/explored)
-"edu" = (/obj/item/device/radio/intercom{pixel_x = 26},/turf/simulated/floor,/area/mine/explored)
-"edv" = (/turf/simulated/mineral/random/labormineral,/area/mine/explored)
-"edw" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/mine/explored)
-"edx" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/mine/explored)
-"edy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/explored)
-"edz" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/mine/explored)
-"edA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/mine/explored)
-"edB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "Labor Camp APC"; pixel_x = 1; pixel_y = -23},/obj/machinery/atmospherics/pipe/simple{dir = 10},/turf/simulated/floor,/area/mine/explored)
-"edC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{name = "Labor Camp Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/mine/explored)
-"edD" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/explored)
-"edE" = (/obj/machinery/camera{c_tag = "Labor Camp Lobby"; dir = 8; network = list("SS13","Prison")},/turf/simulated/floor,/area/mine/explored)
-"edF" = (/obj/machinery/camera{c_tag = "Labor Camp Mine"; dir = 4; network = list("SS13","Prison")},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored)
-"edG" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/turf/simulated/floor{icon_state = "loadingarea"},/area/mine/explored)
-"edH" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/explored)
-"edI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/mine/explored)
-"edJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/explored)
-"edK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored)
-"edL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/mine/explored)
-"edM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/explored)
-"edN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"edO" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/input,/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/plasticflaps,/turf/simulated/floor,/area/mine/explored)
-"edP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall,/area/mine/explored)
-"edQ" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/explored)
-"edR" = (/turf/simulated/floor/plating,/area/mine/explored)
-"edS" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/mine/explored)
-"edT" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored)
-"edU" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall,/area/mine/explored)
-"edV" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"edW" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/explored)
-"edX" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/processing_unit,/turf/simulated/floor,/area/mine/explored)
-"edY" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/mine/explored)
-"edZ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/explored)
-"eea" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/explored)
-"eeb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/explored)
-"eec" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/explored)
-"eed" = (/turf/simulated/mineral/random/high_chance,/area/mine/explored)
-"eee" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/output,/obj/structure/plasticflaps,/turf/simulated/floor,/area/mine/explored)
-"eef" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"eeg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"eeh" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"eei" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8},/area/mine/explored)
-"eej" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"eek" = (/turf/simulated/floor/plating/airless,/area/mine/explored)
-"eel" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/area/mine/north_outpost)
-"eem" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"een" = (/obj/structure/ore_box,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeo" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eep" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeq" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eer" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"ees" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eet" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeu" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eev" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eew" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eex" = (/obj/machinery/conveyor_switch/oneway{id = "nmining"; pixel_y = 16},/turf/simulated/floor/plating/airless,/area/mine/unexplored)
-"eey" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/mine/explored)
-"eez" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/explored)
-"eeA" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"eeB" = (/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeC" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1399; master_tag = "nmining_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeD" = (/obj/machinery/door/airlock/external{frequency = 1399; icon_state = "door_locked"; id_tag = "nmining_inner"; locked = 1; name = "North Mining External Access"; req_access = null; req_access_txt = "null"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1399; id_tag = "nmining_pump"},/obj/machinery/airlock_sensor{frequency = 1399; id_tag = "nmining_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "nmining_pump"; tag_exterior_door = "NMining_outer"; frequency = 1399; id_tag = "nmining_airlock"; tag_interior_door = "nmining_inner"; pixel_x = 0; pixel_y = 25; req_access_txt = "null"; tag_chamber_sensor = "nmining_sensor"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeG" = (/obj/machinery/door/airlock/external{frequency = 1399; icon_state = "door_locked"; id_tag = "NMining_outer"; locked = 1; name = "North Mining External"; req_access = null; req_access_txt = "null"},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1399; master_tag = "nmining_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plating/airless,/area/mine/explored)
-"eeI" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeJ" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeK" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/explored)
-"eeL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeM" = (/obj/structure/table,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeN" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeP" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eeQ" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/mine/unexplored)
-"eeR" = (/obj/structure/stool,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/mine/north_outpost)
-"eeS" = (/obj/machinery/mineral/input,/obj/structure/window/reinforced,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/explored)
-"eeT" = (/obj/machinery/mineral/unloading_machine,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/explored)
-"eeU" = (/obj/machinery/conveyor{dir = 4; id = "nmining"},/obj/machinery/mineral/output,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored)
-"eeV" = (/obj/machinery/conveyor{dir = 4; id = "nmining"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored)
-"eeW" = (/obj/structure/lattice,/obj/machinery/disposal/deliveryChute{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"eeX" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced,/turf/space,/area/mine/explored)
-"eeY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"eeZ" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"efa" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"efb" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efd" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efe" = (/obj/machinery/light/small,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"eff" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efg" = (/obj/machinery/power/apc{dir = 2; name = "North Mining Outpost"; pixel_x = 1; pixel_y = -23; power_channel = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efi" = (/obj/machinery/alarm{dir = 8; frequency = 1440; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efj" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efk" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efm" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efn" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/north_outpost)
-"efo" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"efp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"efq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"efr" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"efs" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"eft" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/mine/explored)
-"efu" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/explored)
-"efv" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/explored)
-"efw" = (/turf/simulated/wall/r_wall,/area/mine/maintenance)
-"efx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area/mine/explored)
-"efy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored)
-"efz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/mine/explored)
-"efA" = (/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"efB" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Mining Communications APC"; pixel_x = 1; pixel_y = 25},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance)
-"efC" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/mine/maintenance)
-"efD" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance)
-"efE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/explored)
-"efF" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"efG" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
-"efH" = (/obj/structure/lattice,/turf/space,/area/mine/explored)
-"efI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"efJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance)
-"efK" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"efL" = (/obj/machinery/camera{c_tag = "Communications Relay"; dir = 8; network = list("MINE")},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"efM" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"efN" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"efO" = (/turf/simulated/wall,/area/mine/living_quarters)
-"efP" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/mine/maintenance)
-"efQ" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"efR" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"efS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"efT" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"efU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters)
-"efV" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/explored)
-"efW" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"efX" = (/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"efY" = (/obj/machinery/door/airlock{id_tag = "miningdorm1"; name = "Room 1"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
-"efZ" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ega" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/mine/living_quarters)
-"egb" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored)
-"egc" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"egd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ege" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"egf" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/west_outpost)
-"egg" = (/obj/machinery/door/airlock{id_tag = "miningdorm2"; name = "Room 2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
-"egh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"egi" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
-"egj" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"egk" = (/obj/machinery/mining/drill,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"egl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
-"egm" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost)
-"egn" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/mine/west_outpost)
-"ego" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost)
-"egp" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/deathsposal,/turf/simulated/wall,/area/mine/living_quarters)
-"egq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"egr" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored)
-"egs" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored)
-"egt" = (/obj/machinery/mining/brace,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored)
-"egu" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"egv" = (/turf/simulated/wall,/area/mine/west_outpost)
-"egw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"egA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"egB" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"egC" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"egD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"egE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"egF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"egG" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
-"egH" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"egI" = (/obj/machinery/mining/brace,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"egJ" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
-"egK" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor,/area/mine/west_outpost)
-"egL" = (/turf/simulated/floor,/area/mine/west_outpost)
-"egM" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor,/area/mine/west_outpost)
-"egN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egO" = (/obj/machinery/recharge_station,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/mine/west_outpost)
-"egP" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/mine/west_outpost)
-"egQ" = (/obj/structure/rack,/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"egR" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"egS" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"egT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egU" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "outpost_west_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost)
-"egV" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/west_outpost)
-"egW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/west_outpost)
-"egX" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"egY" = (/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"egZ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"eha" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehb" = (/obj/machinery/door/airlock{id_tag = "miningdorm3"; name = "Room 3"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
-"ehc" = (/obj/structure/ore_box,/turf/simulated/floor,/area/mine/living_quarters)
-"ehd" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/living_quarters)
-"ehe" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor,/area/mine/living_quarters)
-"ehf" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/eva)
-"ehg" = (/turf/simulated/wall,/area/mine/eva)
-"ehh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/eva)
-"ehi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/eva)
-"ehj" = (/obj/structure/table,/obj/item/weapon/shovel,/turf/simulated/floor,/area/mine/west_outpost)
-"ehk" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor,/area/mine/west_outpost)
-"ehl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ehm" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/west_outpost)
-"ehn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost)
-"eho" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost)
-"ehp" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost)
-"ehq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ehr" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"ehs" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"eht" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehu" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehw" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehx" = (/turf/simulated/floor,/area/mine/living_quarters)
-"ehy" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/living_quarters)
-"ehz" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor,/area/mine/eva)
-"ehA" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/mine/eva)
-"ehB" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"ehC" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/west_outpost)
-"ehD" = (/obj/machinery/door/airlock/glass_mining{name = "Break Room"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/west_outpost)
-"ehE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ehF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "outpost_west_pump"; tag_exterior_door = "outpost_west_outer"; frequency = 1379; id_tag = "outpost_west_airlock"; tag_interior_door = "outpost_west_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = null; tag_chamber_sensor = "outpost_west_sensor"},/turf/simulated/floor,/area/mine/west_outpost)
-"ehG" = (/obj/structure/ore_box,/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "outpost_west_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/west_outpost)
-"ehH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehI" = (/obj/machinery/camera{c_tag = "Crew Area"; dir = 1; network = list("MINE")},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehJ" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters)
-"ehK" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/mine/living_quarters)
-"ehL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ehM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ehN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters)
-"ehO" = (/obj/machinery/camera{c_tag = "Storage Room"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/living_quarters)
-"ehP" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters)
-"ehQ" = (/turf/simulated/wall,/area/mine/production)
-"ehR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production)
-"ehS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/production)
-"ehT" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/obj/machinery/camera{c_tag = "EVA"; dir = 4; network = list("MINE")},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/mine/eva)
-"ehU" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/eva)
-"ehV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/eva)
-"ehW" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/mine/eva)
-"ehX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/mine/west_outpost)
-"ehY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"ehZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"eia" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"eib" = (/obj/machinery/atmospherics/pipe/manifold{dir = 2},/turf/simulated/floor,/area/mine/west_outpost)
-"eic" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"eid" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eie" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eif" = (/obj/machinery/door/airlock/glass{name = "Crew Area"; req_access_txt = "48"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"eig" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/mining{name = "Mining Station Storage"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/living_quarters)
-"eih" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eij" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production)
-"eik" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/mine/production)
-"eil" = (/turf/simulated/floor,/area/mine/production)
-"eim" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor,/area/mine/production)
-"ein" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva)
-"eio" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva)
-"eip" = (/turf/simulated/floor,/area/mine/eva)
-"eiq" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva)
-"eir" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva)
-"eis" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "mining_east_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva)
-"eit" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva)
-"eiu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/eva)
-"eiv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/mine/west_outpost)
-"eiw" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/mine/west_outpost)
-"eix" = (/obj/machinery/power/apc{dir = 2; name = "Mining West Outpost APC"; pixel_x = 1; pixel_y = -23},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/west_outpost)
-"eiy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/camera{c_tag = "West Outpost"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/west_outpost)
-"eiz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/west_outpost)
-"eiA" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/mine/west_outpost)
-"eiB" = (/obj/machinery/mineral/input,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/west_outpost)
-"eiC" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost)
-"eiD" = (/obj/machinery/conveyor{dir = 4; id = "mining_west"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost)
-"eiE" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost)
-"eiF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"eiG" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters)
-"eiH" = (/obj/structure/sink{pixel_y = 30},/obj/machinery/light/small,/obj/structure/mirror{pixel_y = -32},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters)
-"eiI" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters)
-"eiJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"eiK" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station Port Wing APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/mine/living_quarters)
-"eiL" = (/obj/machinery/camera{c_tag = "Crew Area Hallway"; network = list("MINE")},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor,/area/mine/living_quarters)
-"eiM" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/mine/living_quarters)
-"eiN" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/mine/living_quarters)
-"eiO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eiP" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/living_quarters)
-"eiQ" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/production)
-"eiR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/production)
-"eiS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/production)
-"eiT" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/mine/production)
-"eiU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/mine/production)
-"eiV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production)
-"eiW" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/eva)
-"eiX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/eva)
-"eiY" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/eva)
-"eiZ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/eva)
-"eja" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_east_pump"; tag_exterior_door = "mining_east_outer"; frequency = 1379; id_tag = "mining_east_airlock"; tag_interior_door = "mining_east_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = null; tag_chamber_sensor = "mining_east_sensor"},/turf/simulated/floor,/area/mine/eva)
-"ejb" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_east_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva)
-"ejc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/eva)
-"ejd" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"eje" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/west_outpost)
-"ejf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/west_outpost)
-"ejg" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "54"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ejh" = (/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_west"},/obj/structure/plasticflaps/mining,/turf/simulated/floor,/area/mine/west_outpost)
-"eji" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejj" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters)
-"ejl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters)
-"ejo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/living_quarters)
-"ejq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Bridge"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/living_quarters)
-"ejr" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters)
-"ejs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ejt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Bridge"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/production)
-"eju" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ejv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/mine/production)
-"ejw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ejx" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production)
-"ejy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/eva)
-"ejz" = (/obj/machinery/power/apc{dir = 2; name = "Mining EVA APC"; pixel_x = 1; pixel_y = -23},/obj/structure/cable,/turf/simulated/floor,/area/mine/eva)
-"ejA" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/mine/eva)
-"ejB" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/mine/eva)
-"ejC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/mine/eva)
-"ejD" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ejE" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ejF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ejG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/item/weapon/storage/box/lights/bulbs,/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ejH" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"ejI" = (/obj/machinery/conveyor_switch{id = "mining_west"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"ejJ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor,/area/mine/living_quarters)
-"ejK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/living_quarters)
-"ejL" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/floor,/area/mine/living_quarters)
-"ejM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/living_quarters)
-"ejN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/living_quarters)
-"ejO" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light,/turf/simulated/floor,/area/mine/living_quarters)
-"ejP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters)
-"ejQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/mine/living_quarters)
-"ejR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ejS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ejT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ejU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/space,/area/mine/living_quarters)
-"ejV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/space,/area/mine/production)
-"ejW" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light{dir = 4},/turf/space,/area/mine/production)
-"ejX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production)
-"ejY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production)
-"ejZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production)
-"eka" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production)
-"ekb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production)
-"ekc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production)
-"ekd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/floor,/area/mine/production)
-"eke" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/production)
-"ekf" = (/obj/machinery/camera{c_tag = "Production Line External"; dir = 4; network = list("MINE")},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"ekg" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"ekh" = (/obj/machinery/conveyor_switch{id = "mining_external"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"eki" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; initialize_directions = 0; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ekj" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ekk" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ekl" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/west_outpost)
-"ekm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekn" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Infirmary"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"eko" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/living_quarters)
-"ekp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekq" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/living_quarters)
-"ekr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters)
-"eks" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production)
-"eku" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ekv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production)
-"ekw" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/turf/simulated/wall,/area/mine/production)
-"ekx" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"eky" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekz" = (/obj/machinery/conveyor{dir = 9; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekA" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekB" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekC" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekD" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ekE" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"ekF" = (/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"ekG" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"ekH" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekK" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekL" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/living_quarters)
-"ekN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_west_sensor"; pixel_x = 25; pixel_y = -5},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_west_pump"; tag_exterior_door = "mining_west_outer"; frequency = 1379; id_tag = "mining_west_airlock"; tag_interior_door = "mining_west_inner"; pixel_x = 25; pixel_y = 5; req_access_txt = null; tag_chamber_sensor = "mining_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "mining_west_pump"},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/mine/living_quarters)
-"ekO" = (/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/mine/production)
-"ekP" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ekQ" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekR" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"ekS" = (/obj/machinery/sleeper,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/mine/living_quarters)
-"ekT" = (/obj/machinery/sleep_console,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/mine/living_quarters)
-"ekU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Sleeper Room"; dir = 1; network = list("MINE")},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"ekV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters)
-"ekW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekX" = (/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekY" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ekZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/mine/living_quarters)
-"ela" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "warning"},/area/mine/living_quarters)
-"elb" = (/turf/space,/area/shuttle/mining/outpost)
-"elc" = (/obj/machinery/power/apc{dir = 8; name = "Mining Station Starboard Wing APC"; pixel_x = -27; pixel_y = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/mine/production)
-"eld" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/mine/production)
-"ele" = (/obj/machinery/mineral/input,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/production)
-"elf" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"elg" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"elh" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"eli" = (/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/power/port_gen/pacman{anchored = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"elj" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"elk" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"ell" = (/obj/machinery/atmospherics/pipe/manifold,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/living_quarters)
-"elm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"eln" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/production)
-"elq" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production)
-"elr" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/obj/machinery/camera{c_tag = "Shuttle Airlock"; dir = 8; network = list("MINE")},/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/mine/production)
-"els" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"elt" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"elu" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"elv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"elw" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"elx" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"ely" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elB" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/mine/production)
-"elC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/mine/production)
-"elD" = (/obj/structure/closet/crate,/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/mine/production)
-"elE" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/mine/production)
-"elF" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/mine/production)
-"elG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor,/area/mine/production)
-"elH" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/item/weapon/rcs,/turf/simulated/floor,/area/mine/production)
-"elI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/production)
-"elJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"elK" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station External APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"elL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"elM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"elN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_outpost_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/mine/production)
-"elO" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1379; id_tag = "mining_outpost_airlock"; pixel_x = 0; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13;48"; tag_airpump = "mining_outpost_pump"; tag_chamber_sensor = "mining_outpost_sensor"; tag_exterior_door = "mining_outpost_outer"; tag_interior_door = "mining_outpost_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_outpost_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "mining_outpost_pump"},/turf/simulated/floor,/area/mine/production)
-"elP" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_outpost_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor,/area/mine/production)
-"elQ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_outpost_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (SOUTHWEST)"; icon_state = "intact-f"; dir = 10},/turf/simulated/floor,/area/mine/production)
-"elR" = (/obj/machinery/door/window/westright{name = "Production Area"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/production)
-"elS" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/camera{c_tag = "Production Room"; dir = 8; network = list("MINE")},/turf/simulated/floor,/area/mine/production)
-"elT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"elU" = (/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/mine/production)
-"elV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"elX" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production)
-"elY" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/telepad_cargo,/turf/simulated/floor,/area/mine/production)
-"elZ" = (/obj/machinery/door/window/westleft{name = "Production Area"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production)
-"ema" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/production)
-"emb" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/mine/production)
-"emc" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emd" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_outpost_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/space,/area)
-"eme" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production)
-"emf" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor,/area/mine/production)
-"emg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor,/area/mine/production)
-"emh" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emi" = (/turf/simulated/wall/r_wall,/area/mine/production)
-"emj" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/production)
-"emk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/production)
-"eml" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"emm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"emn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"emo" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/mine/production)
-"emp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/explored)
-"emq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/explored)
-"emr" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area)
-"ems" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/production)
-"emt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production)
-"emu" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/mine/production)
-"emv" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production)
-"emw" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emx" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emy" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emz" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
-"emA" = (/obj/machinery/conveyor{tag = "icon-conveyor0 (SOUTHWEST)"; icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production)
-"emB" = (/turf/space,/area/vox_station/mining)
-"emC" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars)
-"emD" = (/turf/simulated/floor/plating/airless,/area/djstation/solars)
-"emE" = (/obj/machinery/light{dir = 1},/obj/machinery/media/transmitter/broadcast/dj,/turf/simulated/floor/plating,/area/djstation)
-"emF" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/djstation)
-"emG" = (/obj/item/device/multitool,/turf/simulated/floor/plating,/area/djstation)
-"emH" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plating,/area/djstation)
-"emI" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/djstation)
-"emJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/djstation)
-"emK" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/plating,/area/djstation)
-"emL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/djstation)
-"emM" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation)
-"emN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/djstation)
-"emO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/djstation)
-"emP" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/jetpack/oxygen,/turf/simulated/floor/plating,/area/djstation)
-"emQ" = (/obj/structure/closet/emcloset,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"emR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry)
-"emS" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"emT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry)
-"emU" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/media/jukebox/dj,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"emV" = (/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/djstation)
-"emW" = (/obj/structure/table,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"emX" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"emY" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; freerange = 1; listening = 1; name = "Pirate Radio Listening Channel"; pixel_x = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"emZ" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"ena" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enb" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating/airless,/area)
-"enc" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo/fluff/naples_1,/obj/item/ashtray/glass{pixel_y = 7},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"end" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; freerange = 1; listening = 0; name = "Pirate Radio Broadcast Channel"; pixel_x = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"ene" = (/obj/structure/table,/obj/item/weapon/paper/djstation{info = "Welcome new owner!
You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
- Equip yourself with a multi-tool
- Use the multitool on each machine, that is the broadcaster, receiver and the relay.
- Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
- 145.7 - Common Channel
- 144.7 - Private AI Channel
- 135.9 - Security Channel
- 135.7 - Engineering Channel
- 135.5 - Medical Channel
- 135.3 - Command Channel
- 135.1 - Science Channel
- 134.7 - Supply Channel
"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enf" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"eng" = (/obj/machinery/light/small,/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"enh" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "grimy"},/area/djstation)
-"eni" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enj" = (/turf/simulated/wall/r_wall,/area/derelict/solar_control)
-"enk" = (/obj/machinery/door/airlock/engineering{name = "Turbine Maintenance"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enl" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation)
-"enm" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enn" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"eno" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/rack{dir = 4},/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enp" = (/turf/simulated/wall,/area/derelict/solar_control)
-"enq" = (/turf/simulated/floor,/area/derelict/solar_control)
-"enr" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/solar_control)
-"ens" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"ent" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"enu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"env" = (/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enw" = (/obj/machinery/door/airlock/external{name = "Ruskie DJ Station"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/djstation)
-"enx" = (/obj/machinery/door/airlock/external{name = "Air Bridge Access"},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"eny" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enz" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/solar_control)
-"enA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_starboard)
-"enB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"enC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_starboard)
-"enD" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Starboard Solar APC"; pixel_y = 24},/turf/simulated/floor,/area/derelict/solar_control)
-"enE" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/solar_control)
-"enF" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/turf/simulated/floor,/area/derelict/solar_control)
-"enG" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/solar_control)
-"enH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enI" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"enJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control)
-"enK" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/solar_control)
-"enL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control)
-"enM" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/solar_control)
-"enN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/solar_control)
-"enO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/derelict/solar_control)
-"enQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control)
-"enR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control)
-"enS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enT" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"enU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control)
-"enV" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control)
-"enW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control)
-"enX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control)
-"enY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"enZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eoa" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eob" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eoc" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eod" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eoe" = (/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eof" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/solar_control)
-"eog" = (/turf/simulated/wall,/area/derelict/bridge/access)
-"eoh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area/derelict/bridge/access)
-"eoi" = (/obj/machinery/door/airlock/engineering{name = "Starboard Solar Access"; req_access_txt = "10"},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoj" = (/turf/simulated/floor,/area/derelict/bridge/access)
-"eok" = (/obj/structure/rack,/obj/item/weapon/melee/classic_baton,/turf/simulated/floor,/area/derelict/bridge/access)
-"eol" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access)
-"eom" = (/obj/structure/rack,/turf/simulated/floor,/area/derelict/bridge/access)
-"eon" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoo" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/bridge/access)
-"eop" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoq" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/access)
-"eor" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/derelict/bridge/access)
-"eos" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"eot" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard)
-"eou" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge/access)
-"eov" = (/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"eow" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access)
-"eox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"eoy" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"eoz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"eoA" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoB" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/derelict/bridge/access)
-"eoC" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area)
-"eoD" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area)
-"eoE" = (/obj/item/stack/cable_coil/cut,/turf/space,/area)
-"eoF" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"eoH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoI" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/derelict/bridge/access)
-"eoJ" = (/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"eoK" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access)
-"eoL" = (/obj/machinery/door/window,/turf/simulated/floor,/area/derelict/bridge/access)
-"eoM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access)
-"eoN" = (/turf/simulated/wall,/area/derelict/bridge)
-"eoO" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"eoP" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"eoQ" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eoR" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"eoS" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"},/turf/simulated/wall/r_wall,/area/derelict/singularity_engine)
-"eoT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access)
-"eoU" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/bridge)
-"eoV" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge)
-"eoW" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/bridge)
-"eoX" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/bridge)
-"eoY" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge)
-"eoZ" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge)
-"epa" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/derelict/bridge)
-"epb" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
-"epc" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"epd" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"epe" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"epf" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"epg" = (/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eph" = (/turf/simulated/wall,/area/derelict/singularity_engine)
-"epi" = (/turf/simulated/floor,/area/derelict/bridge)
-"epj" = (/turf/simulated/floor/plating,/area/derelict/bridge)
-"epk" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor,/area/derelict/bridge)
-"epl" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
-"epm" = (/obj/structure/window/reinforced,/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"epn" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"epo" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"epp" = (/obj/structure/window/reinforced,/obj/item/weapon/table_parts/reinforced,/obj/item/weapon/table_parts/reinforced,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"epq" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"epr" = (/obj/item/weapon/disk/data/demo,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eps" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"ept" = (/obj/machinery/power/emitter{dir = 1; icon_state = "emitter"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epu" = (/obj/machinery/field_generator,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access)
-"epw" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor,/area/derelict/bridge/access)
-"epx" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
-"epy" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area)
-"epz" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epC" = (/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/wall,/area/derelict/singularity_engine)
-"epD" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"epE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"epF" = (/obj/machinery/door/window/eastleft{name = "Heads of Staff"; req_access_txt = "19"},/turf/simulated/floor,/area/derelict/bridge/access)
-"epG" = (/obj/structure/table,/obj/item/device/paicard,/turf/simulated/floor,/area/derelict/bridge)
-"epH" = (/obj/structure/stool,/turf/simulated/floor,/area/derelict/bridge)
-"epI" = (/obj/structure/table,/obj/item/weapon/cell,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge)
-"epJ" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"epK" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"epL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"epM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"epN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"epO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"epP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge)
-"epQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge)
-"epR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge)
-"epS" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device."; name = "Objectives of a Nuclear Operative"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"epT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/bridge/access)
-"epU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge)
-"epV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/derelict/bridge)
-"epW" = (/obj/structure/table,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge)
-"epX" = (/obj/item/stack/rods,/turf/space,/area)
-"epY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"epZ" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqa" = (/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqb" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqc" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"eqd" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqg" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge)
-"eqh" = (/obj/structure/table,/obj/structure/window/basic,/turf/simulated/floor,/area/derelict/bridge)
-"eqi" = (/obj/structure/window/basic,/turf/simulated/floor,/area/derelict/bridge)
-"eqj" = (/obj/structure/table,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor,/area/derelict/bridge)
-"eqk" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor,/area/derelict/bridge)
-"eql" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqm" = (/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqn" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqo" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqq" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access)
-"eqr" = (/turf/simulated/wall/r_wall,/area/derelict/bridge)
-"eqs" = (/obj/machinery/door/window{dir = 2; name = "Captain's Quarters"; req_access_txt = "20"},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/bridge)
-"eqt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"equ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqv" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqx" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"eqy" = (/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqz" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqA" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqB" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqC" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqE" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area)
-"eqF" = (/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine)
-"eqG" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqH" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
-"eqK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqM" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"eqN" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqP" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"eqQ" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine)
-"eqR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqS" = (/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
-"eqT" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eqU" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eqV" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"eqW" = (/obj/structure/grille,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"eqX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"eqY" = (/obj/machinery/door/airlock/maintenance{name = "Tech Storage"; req_access_txt = "23"},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"eqZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/bridge/access)
-"era" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/bridge/access)
-"erb" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"erc" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erd" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"ere" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erf" = (/obj/structure/table,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"erg" = (/turf/simulated/wall,/area/derelict/hallway/primary)
-"erh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
-"eri" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
-"erj" = (/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"erk" = (/obj/item/weapon/table_parts/reinforced,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"erl" = (/obj/item/weapon/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erm" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"ern" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"ero" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/primary)
-"erp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erq" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
-"err" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"ers" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"ert" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"eru" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
-"ery" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/derelict/hallway/primary)
-"erz" = (/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"erA" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"erB" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area)
-"erC" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area)
-"erD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erE" = (/obj/machinery/door/window,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erF" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area)
-"erG" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"erH" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erI" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"erJ" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erK" = (/obj/item/weapon/crowbar,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"erL" = (/obj/structure/grille,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"erM" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area)
-"erN" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erO" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"erR" = (/turf/simulated/wall/r_wall,/area/derelict/arrival)
-"erS" = (/turf/simulated/wall,/area/derelict/arrival)
-"erT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"erU" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
-"erV" = (/obj/structure/window/basic{dir = 5},/turf/space,/area)
-"erW" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/arrival)
-"erX" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/derelict/arrival)
-"erY" = (/turf/simulated/floor,/area/derelict/arrival)
-"erZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/arrival)
-"esa" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/weapon/pen,/turf/simulated/floor,/area/derelict/arrival)
-"esb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/derelict/arrival)
-"esc" = (/turf/simulated/wall,/area/derelict/medical/chapel)
-"esd" = (/obj/item/weapon/shard,/turf/space,/area)
-"ese" = (/obj/structure/grille,/turf/space,/area/derelict/singularity_engine)
-"esf" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"esg" = (/obj/structure/lattice,/obj/structure/window/basic,/turf/space,/area)
-"esh" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/derelict/arrival)
-"esi" = (/turf/simulated/floor/plating/airless,/area/derelict/arrival)
-"esj" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/arrival)
-"esk" = (/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esl" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esm" = (/obj/structure/closet/coffin,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esn" = (/turf/simulated/wall,/area/derelict/medical)
-"eso" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"esp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"esq" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"esr" = (/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"ess" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"est" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating/airless,/area)
-"esu" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/hallway/primary)
-"esv" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor,/area/derelict/arrival)
-"esw" = (/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"esx" = (/obj/item/weapon/firstaid_arm_assembly,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"esy" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
-"esz" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
-"esA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"esB" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"esC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"esD" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"esE" = (/obj/structure/lattice,/obj/structure/window/basic{dir = 1},/turf/space,/area)
-"esF" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/basic{dir = 1},/turf/space,/area)
-"esG" = (/turf/simulated/floor/plating,/area/derelict/arrival)
-"esH" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esI" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"esJ" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area)
-"esK" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival)
-"esL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/arrival)
-"esM" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esN" = (/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine)
-"esO" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area)
-"esP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/derelict/arrival)
-"esQ" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival)
-"esR" = (/obj/machinery/door/morgue{name = "coffin storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esS" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel)
-"esT" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"esU" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area)
-"esV" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "white"},/area)
-"esW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
-"esX" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival)
-"esY" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area)
-"esZ" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"eta" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etb" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etc" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etd" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
-"ete" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
-"etf" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"etg" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"eth" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area)
-"eti" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etj" = (/turf/simulated/floor{icon_state = "chapel"},/area/derelict/medical/chapel)
-"etk" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etl" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etn" = (/obj/machinery/door/airlock/glass{name = "Med-Sci"; req_access_txt = "9"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
-"eto" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"etp" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/derelict/arrival)
-"etq" = (/obj/structure/window/reinforced,/turf/space,/area)
-"etr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area)
-"ets" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"ett" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etu" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"etv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/wall,/area/derelict/medical/chapel)
-"etw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/derelict/medical/chapel)
-"etx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"ety" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
-"etC" = (/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"etE" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area)
-"etF" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
-"etG" = (/turf/simulated/floor/airless{icon_state = "white"},/area)
-"etH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"etI" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"etJ" = (/obj/item/weapon/pen,/turf/simulated/floor,/area/derelict/arrival)
-"etK" = (/obj/machinery/door/poddoor{id = "derelict_gun"; name = "Derelict Mass Driver"},/turf/simulated/floor/plating,/area/derelict/medical/chapel)
-"etL" = (/turf/simulated/floor/plating,/area/derelict/medical/chapel)
-"etM" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "derelict_gun"},/obj/machinery/door/window{dir = 4; req_access_txt = "25"},/obj/structure/closet/coffin,/turf/simulated/floor/plating,/area/derelict/medical/chapel)
-"etN" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
-"etO" = (/turf/simulated/floor/airless,/area/derelict/medical/chapel)
-"etP" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
-"etQ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
-"etR" = (/obj/machinery/sleeper,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etS" = (/obj/machinery/sleep_console,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etT" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etU" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etW" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"etX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"etY" = (/obj/structure/window/basic,/turf/space,/area)
-"etZ" = (/obj/structure/window/basic{dir = 8},/turf/space,/area)
-"eua" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/arrival)
-"eub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival)
-"euc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/arrival)
-"eud" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/space,/area)
-"eue" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"euf" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
-"eug" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
-"euh" = (/obj/machinery/door/window,/turf/simulated/floor/airless,/area/derelict/medical/chapel)
-"eui" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"euj" = (/obj/machinery/door/window/southright,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
-"euk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"eul" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"eum" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
-"eun" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"eup" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"euq" = (/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/space,/area)
-"eur" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/simulated/floor/plating,/area/derelict/arrival)
-"eus" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"eut" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area)
-"euu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area)
-"euv" = (/obj/structure/window/basic{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area)
-"euw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"eux" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area)
-"euy" = (/obj/structure/window/basic,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"euz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/simulated/floor/airless,/area/derelict/arrival)
-"euA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/arrival)
-"euB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/derelict/arrival)
-"euC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/arrival)
-"euD" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
-"euE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euH" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euI" = (/obj/structure/window/basic{dir = 1},/turf/space,/area)
-"euJ" = (/obj/structure/window/basic{dir = 5},/turf/simulated/floor/plating/airless,/area)
-"euK" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/turf/space,/area)
-"euL" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"euM" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor,/area/derelict/arrival)
-"euN" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/arrival)
-"euO" = (/obj/structure/table,/obj/machinery/computer/pod/old{name = "ProComp IIe"; pixel_y = 7; id = "derelict_gun"},/turf/simulated/floor{icon_state = "chapel"},/area/derelict/medical/chapel)
-"euP" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euS" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euT" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/arrival)
-"euU" = (/obj/machinery/door/window,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euW" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"euY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/hallway/primary)
-"euZ" = (/obj/machinery/door/airlock/security{name = "Gas Storage"; req_access = null; req_access_txt = "3"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"eva" = (/obj/structure/lattice,/obj/structure/window/basic{dir = 4},/turf/space,/area)
-"evb" = (/obj/structure/girder,/obj/structure/window/basic,/turf/simulated/floor/plating/airless,/area/derelict/arrival)
-"evc" = (/obj/structure/stool/bed,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"eve" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"evf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"evg" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evh" = (/obj/item/weapon/cigbutt,/turf/space,/area)
-"evi" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival)
-"evj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/arrival)
-"evk" = (/obj/structure/table,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evl" = (/obj/structure/table,/obj/item/weapon/cell,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evm" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evn" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evo" = (/obj/structure/table,/turf/simulated/floor/airless,/area)
-"evp" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area)
-"evq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area)
-"evr" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/space,/area)
-"evs" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/derelict/arrival)
-"evt" = (/obj/structure/stool,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evu" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"evv" = (/obj/structure/closet/wardrobe/orange,/turf/simulated/floor/airless,/area)
-"evw" = (/obj/structure/window/basic{dir = 4},/turf/space,/area)
-"evx" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/derelict/arrival)
-"evy" = (/obj/structure/closet/wardrobe,/turf/simulated/floor,/area/derelict/arrival)
-"evz" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
-"evA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area)
-"evB" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area)
-"evC" = (/obj/structure/grille,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"evD" = (/obj/structure/stool/bed,/turf/simulated/floor/airless,/area)
-"evE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival)
-"evF" = (/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/derelict/hallway/primary)
-"evG" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/hallway/primary)
-"evH" = (/obj/structure/table,/obj/item/device/healthanalyzer,/turf/simulated/floor/airless,/area/derelict/hallway/primary)
-"evI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"evJ" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/floor,/area/derelict/arrival)
-"evK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"evL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/derelict/arrival)
-"evM" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"},/turf/simulated/floor/plating,/area/derelict/arrival)
-"evN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"evO" = (/turf/simulated/wall,/area/derelict/hallway/secondary)
-"evP" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"evQ" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary)
-"evR" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"evS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area)
-"evT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall/r_wall,/area)
-"evU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary)
-"evV" = (/obj/structure/window/basic{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"evW" = (/obj/structure/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
-"evX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating/airless,/area)
-"evY" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"evZ" = (/obj/item/stack/rods,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewa" = (/obj/item/weapon/shard{icon_state = "small"},/turf/space,/area)
-"ewb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewe" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary)
-"ewf" = (/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewh" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewi" = (/obj/structure/falsewall,/turf/simulated/floor{icon_state = "bar"},/area/derelict/hallway/secondary)
-"ewj" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewl" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewm" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewn" = (/turf/simulated/floor/airless{icon_state = "derelict9"},/area/derelict/hallway/secondary)
-"ewo" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "derelict10"},/area/derelict/hallway/secondary)
-"ewp" = (/turf/simulated/floor/airless{icon_state = "derelict11"},/area/derelict/hallway/secondary)
-"ewq" = (/turf/simulated/floor/airless{icon_state = "derelict12"},/area/derelict/hallway/secondary)
-"ewr" = (/turf/simulated/floor/airless{icon_state = "derelict13"},/area/derelict/hallway/secondary)
-"ews" = (/turf/simulated/floor/airless{icon_state = "derelict14"},/area/derelict/hallway/secondary)
-"ewt" = (/turf/simulated/floor/airless{icon_state = "derelict15"},/area/derelict/hallway/secondary)
-"ewu" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "derelict16"},/area/derelict/hallway/secondary)
-"ewv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"eww" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewy" = (/turf/simulated/floor/airless{icon_state = "derelict1"},/area/derelict/hallway/secondary)
-"ewz" = (/turf/simulated/floor/airless{icon_state = "derelict2"},/area/derelict/hallway/secondary)
-"ewA" = (/turf/simulated/floor/airless{icon_state = "derelict3"},/area/derelict/hallway/secondary)
-"ewB" = (/turf/simulated/floor/airless{icon_state = "derelict4"},/area/derelict/hallway/secondary)
-"ewC" = (/turf/simulated/floor/airless{icon_state = "derelict5"},/area/derelict/hallway/secondary)
-"ewD" = (/turf/simulated/floor/airless{icon_state = "derelict6"},/area/derelict/hallway/secondary)
-"ewE" = (/turf/simulated/floor/airless{icon_state = "derelict7"},/area/derelict/hallway/secondary)
-"ewF" = (/turf/simulated/floor/airless{icon_state = "derelict8"},/area/derelict/hallway/secondary)
-"ewG" = (/obj/structure/lattice,/turf/space,/area/derelict/hallway/secondary)
-"ewH" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewK" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload)
-"ewL" = (/obj/machinery/door/airlock/command{name = "AI Upload"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"ewM" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewN" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewO" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewP" = (/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"ewR" = (/obj/structure/closet/emcloset,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
-"ewS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload)
-"ewU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload)
-"ewV" = (/obj/machinery/door/airlock/command{name = "AI Upload"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"ewW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
-"ewX" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"ewY" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"ewZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exa" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/bridge/ai_upload)
-"exb" = (/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exc" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exd" = (/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
-"exe" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exg" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
-"exh" = (/obj/item/weapon/paper{desc = ""; info = "The Syndicate have cunningly disguised a Syndicate Uplink as your PDA. Simply enter the code \"678 Bravo\" into the ringtone select to unlock its hidden features.
Objective #1. Kill the God damn AI in a fire blast that it rocks the station. Success!
Objective #2. Escape alive. Failed."; name = "Mission Objectives"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
-"exi" = (/obj/machinery/light/small{dir = 4},/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exj" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
-"exk" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area)
-"exl" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exm" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exn" = (/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exo" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
-"exp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload)
-"exq" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exr" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exs" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_aft)
-"ext" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exu" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exv" = (/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exx" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exy" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exz" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exA" = (/obj/structure/cable,/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_aft)
-"exB" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft)
-"exD" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter)
-"exE" = (/turf/simulated/floor/plating/airless,/area/derelict/teleporter)
-"exF" = (/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exG" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/teleporter)
-"exH" = (/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/teleporter)
-"exI" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exJ" = (/obj/machinery/teleport/station,/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exK" = (/obj/machinery/teleport/hub,/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exL" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/teleporter)
-"exM" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exN" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/teleporter)
-"exO" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/teleporter)
-"exP" = (/turf/simulated/wall/r_wall,/area/derelict/secret)
-"exQ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/derelict/secret)
-"exR" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/derelict/secret)
-"exS" = (/turf/simulated/floor,/area/derelict/secret)
-"exT" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate/blue,/turf/simulated/floor,/area/derelict/secret)
-"exU" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor,/area/derelict/secret)
-"exV" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/derelict/secret)
-"exW" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/derelict/secret)
-"exX" = (/turf/simulated/wall,/area/derelict/secret)
-"exY" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/derelict/secret)
-"exZ" = (/obj/machinery/power/smes/magical{capacity = 1e+007; charge = 1e+007; desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/derelict/secret)
-"eya" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/derelict/secret)
-"eyb" = (/obj/machinery/door/airlock,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/secret)
-"eyc" = (/obj/structure/closet/gimmick/russian,/turf/simulated/floor,/area/derelict/secret)
-"eyd" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/secret)
-"eye" = (/turf/simulated/floor/plating,/area/derelict/secret)
-"eyf" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor,/area/derelict/secret)
-"eyg" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/derelict/secret)
-"eyh" = (/obj/structure/dispenser,/turf/simulated/floor,/area/derelict/secret)
-"eyi" = (/obj/structure/largecrate,/turf/simulated/floor,/area/derelict/secret)
-"eyj" = (/obj/item/weapon/storage/box/survival,/turf/simulated/floor,/area/derelict/secret)
-"eyk" = (/obj/structure/closet/crate/secure/gear,/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret)
-"eyl" = (/obj/machinery/iv_drip,/turf/simulated/floor,/area/derelict/secret)
-"eym" = (/obj/machinery/shieldwallgen,/turf/simulated/floor,/area/derelict/secret)
-"eyn" = (/obj/structure/closet/crate,/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret)
-"eyo" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/secret)
-"eyp" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/derelict/secret)
-"eyq" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/derelict/secret)
-"eyr" = (/obj/structure/closet,/turf/simulated/floor,/area/derelict/secret)
-"eys" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor,/area/derelict/secret)
-"eyt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area)
-"eyu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area)
-"eyv" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/secret)
-"eyw" = (/obj/machinery/light{dir = 4},/obj/structure/table,/turf/simulated/floor,/area/derelict/secret)
-"eyx" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area)
-"eyy" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret)
-"eyz" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret)
-"eyA" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor,/area/derelict/secret)
-"eyB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/derelict/secret)
-"eyC" = (/obj/structure/disposalpipe/junction,/turf/simulated/mineral,/area)
-"eyD" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret)
-"eyE" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret)
-"eyF" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/derelict/secret)
-"eyG" = (/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyI" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyJ" = (/obj/structure/table,/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyK" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret)
-"eyL" = (/obj/machinery/door/airlock,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyM" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyN" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyO" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyP" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/derelict/secret)
-"eyQ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyR" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret)
-"eyS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret)
-"eyT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret)
-"eyU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret)
-"eyV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/secret)
-"eyW" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/airless,/area)
-"eyX" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area)
-"eyY" = (/obj/effect/landmark/corpse/clown,/turf/simulated/floor/airless,/area)
-"eyZ" = (/obj/structure/closet/crate,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area)
-"eza" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area)
-"ezb" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"ezc" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/space,/area)
-"ezd" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area)
-"eze" = (/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area)
-"ezf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area)
-"ezg" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area)
-"ezh" = (/obj/effect/landmark/corpse/clown{name = "Clown Pilot"},/turf/simulated/floor/airless,/area)
-"ezi" = (/obj/item/weapon/paper{info = "The call has gone out! Our ancestral home has been rediscovered! Not a small patch of land, but a true clown nation, a true Clown Planet! We're on our way home at last!"},/turf/simulated/floor/airless,/area)
-"ezj" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/airless,/area)
-"ezk" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area)
-"ezl" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area)
-"ezm" = (/turf/simulated/floor/airless,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area)
-"ezn" = (/obj/item/weapon/pickaxe,/turf/simulated/floor/airless,/area)
-"ezo" = (/obj/structure/closet/crate,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area)
-"ezp" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area)
-"ezq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"ezr" = (/obj/machinery/power/apc{cell_type = 2500; name = "Firing Range APC"; pixel_y = -28},/obj/structure/cable,/obj/machinery/light,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range)
-"ezs" = (/obj/machinery/door/airlock/clown{name = "Clown Office"; req_access_txt = "46"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/vacantoffice2)
-"ezt" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-g (SOUTHEAST)"; icon_state = "intact-g"; dir = 6; level = 2; _color = "green"},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezu" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezv" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezx" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezy" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezz" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area)
-"ezA" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light,/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"ezB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Representative Office"; req_access_txt = "57"},/turf/simulated/floor/wood,/area/ntrep)
-"ezC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area)
-"ezD" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/bonegel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops)
-"ezE" = (/obj/machinery/vending/snack,/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation)
-"ezF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness)
-"ezG" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Toxins Launch Room"; dir = 4; network = list("RD"); pixel_y = -22},/obj/machinery/atmospherics/pipe/vent{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/toxins/mixing)
-"ezH" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/toxins/mixing)
-"ezI" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
-"ezJ" = (/obj/machinery/vending/sustenance,/turf/simulated/floor,/area/mine/explored)
-"ezK" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/turf/simulated/floor,/area/mine/explored)
-"ezL" = (/obj/machinery/door/airlock/glass_security{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_camp_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access_txt = "13"; req_one_access_txt = "0"},/turf/simulated/floor,/area/mine/explored)
-"ezM" = (/obj/effect/decal/remains/human,/turf/simulated/floor,/area/mine/explored)
-"ezN" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor,/area/mine/explored)
-"ezO" = (/obj/machinery/light/small,/turf/simulated/floor,/area/mine/explored)
-"ezP" = (/obj/structure/closet/crate,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"ezQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"ezR" = (/obj/structure/closet/crate,/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored)
-"ezS" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"ezT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"ezU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
-"ezV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"ezW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall/r_wall,/area)
-"ezX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall,/area)
-"ezY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area)
-"ezZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area)
-"eAa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/wall,/area/mine/unexplored)
-"eAb" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/closet/radiation,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"eAc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-
-(1,1,1) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaaeaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaajaakaalaamaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaanaaoaapaaqaaraasaataaoaaoaaoaauaavaawaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaxaayaazaaAaaoaaoaataasaaBaaoaauaauaaCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaanaaoaaDaaEaaFaaoaaGaaHaasaaIaaqaaqaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaqaaqaaqaaJaaKaaLaataasaaBaaoaaMaaNaaOaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaQaaRaaSaaTaaUaaVaaWaaXaaYaaoaaZabaaaOaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabbabcabdabeabfabgabhabiaataaBaaqaaqabjaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabkaaiablabmabnabnaaiaaiaboaalaaiaaiabpaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabqaaqabrabsabtabuaaaaaaaaaaaaaaaaaiabvaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabqaaqabrabwaaiaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiabxaaqabyabzaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabAabBabCabDabEabFabGabOabNabMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabHabIabJabKabLabPabSabQabUabUaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiabRaccabTaceacfaaiabVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabWabXabYabZacaacbabSaaiaeCaeCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacgachaciachacjackaclaaiacuaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiacmacnaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacoacpacqacracsactaclaaianeaaiacvacwacxaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiacyaczacAacBacCacDaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiacEacFaaiaaiacGacHacHacHacIaaiaaiaaiaaiaaiaaiaaiaaiaaiacJacKacLacKacKacKaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacNacOacPacQaaiacRabSaaiacSacTacUacVacWacXacYaaiaaiacZadaadbacZaaiaaiadcaddadeadfadgadhaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiadiadjadkaaIaaiabRabSaaiadlacHadmadnadoacHadpaaiaaiadqadradsadtaaiaaiaduadvadwadxacKadyaaiadzadAadBadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiadEadFadGaaiadHadIadJadJacsactaclaaiadKacHadLacHadMacHadNaaiaaiadOadPadQadRaaiaaiadSadTadUadVadWadXaaiadYadZadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiacpacqacqaeaadJadIadJaebacsactaclaaiaaiaecaedaeeaefacHaaiaaiaaiaegaehadQaeiaaiaaiahzadvaejadxacKaekaaiaeladCadCadCaemadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaenaeoaepaaiaenaeoaepaaiaaaaaiaeqachachaaiaaiaeraaiaaiaaiaesaetaaiaaiaeuaevaewaexaeyaaiaaiaaiaezaeAaeBaiZaaiaaiaeDaeEaeFacKaeGaeHaaiaeIadCadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaeJaeJaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeMaeNaaiaeLaeMaeNaaiaaaaaiadGaeOaePacaaeQaeRaeSaeTaeUaeVaeWaeXaaiaaiabnaeYaeZaaiaaiaaiafaafbafcaaiaaiaaiaaiafdafeaffafgacnaaiaaiaaiafhadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaaaabaaaafiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafjaeNafkaaiafjaeNafkaaiaaaaaiaaiaaiaaiaaiafladHafmafnafoafpafqafraaqafsaftafuahBafwafxaaqafyafzafAafBafCafDafEafFafAafGafHafHafIafJafKafLafMadCafMafMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabafNaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeNaeLaeNaaiaeNaeLaeNaaiaaaaaiafOafPafPafQafPaayafRafSafTafUafVafWaaqafXaftafuafvafYafYafZagaagbagcagdageagfaggaghagiagjagdagdagdagkaglagmadCagnadCadCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaeJaeJaeKaeKaaaaaaaaaagoaaaaaaaaaaeKaeKaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeNaeLaaiaeLaeNaeLaaiaaaaaiagpagqagracsagsadJagtaguagvaeSagwagxaaqagyagzagAagBagCagDaaqaaJagEagFagGagHaaqagIagJagKagLagGagHaaqaaqaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaaaaaaaabaabaaaaaaaaaagoaabaabaaaaabaabaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeLaeNaaiaeLaeLaeNaaiaaaaaiagNagOagPaaiagQagRaeQabOagSagTagUagVaaqagWagXafuagYagZahaaaqahbahcahdaheahfahgahhahiahjahkahlahmahlahmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabahpaabahoahoahoahoahoaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeNaeLahqaaiaeNaeLahqaaiaaiaaiahrahsahtaaiaaqaaqaaqaaqahuahvahwahxaaqahyajGahAakoahCahDaaqahEahFahGahHahIahJahKahLahjahkahMahmahMahmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahVahWahXahUahVahWahXahYaaiaaqaaqaaqaaJaaqaaqaaqaaqahZaiaaibaicaidaaiaieaifaigaihaiiaaqaaqaijaikaikailahIaimailahLainahkahiahiaioaipafaahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabairaabaiqaiqaiqaiqaiqaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaisajHajKaeLaitaiuaivaiwaaiaixaiyaizaiAaizaizaizaaqaiBaiCaiDaiEaiFaiGaiHaiIaiJaiKaiLaiMaiNaiOaikaikailaiPaiQaiRaiSaiTaiUaiVaiWaiXahiaiYahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaaaaaaaaaaabaaaaaaaabairaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiauEaeLdlSaeLajaajbajcajdaaiajeajfajgajhajiajjajkaaqajlajmajnajoaiFajpajqajrajsajtajuajvajwajxaikajyajzajAajBajCajDajEajFahiahiahiaqaafaahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaeKaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabairaabahoahoahoahoahoaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiezqaeLdlSaeLajIajbajJezraaiajLajMajNajOajPajQajkaaqajRajSajTajUajVaiGajWajXaiJajYajZaiMakaakbakcakcakdahIakeakfakgakhahiahlahmahiaqmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaaaaabaaaafiaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMaaaaagaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaabaeJaaaaeJakiakjakjakjakkaaaaaaaaiaaiaaiaaiaaqaaqaklakmaknaaqaaqaqFakpakqakraksaktakuaaqakvaiCakwajoakxaaqakyakzakAakBakCaaqakDakEakFakGakHakIakJakKakLakMahiahMakNahiakOaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabakPaabaeKaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaaaaaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabairaabaiqaiqaiqaiqaiqaabaeJaaaaeJakRakSakTakUakRaaiaaiaaiakVakWakXakYakZalaalbalcaldaaqaaqalealfaaqaaqaaqaaqaaqalgalhalialjalgaaqaieaifalkaihaiiaaqallalmalgalnaaqaaqaaqaaqaloalpalqalgaaqaaialraaialsaltalualualvaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaeKaeKaeKaeKaeKaaaaaaaaaalwaaaaaaaaaaeKaeKaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalxaaaaaaaaaaabaaaaaaaaaairaaaaaaaaaaabaaaaaaaabaeJaaaaeKakRalyalyalyalzalAalBalCalDalDalEalFalGalHalIalJalKalLalMalNalOalPalQalPalPalRalSalTalUalValPalWalXalYalZamaambamcamdamealPamfamgamhamhamiamjamkamlammamnamoampamqamramsamtamuamvaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaafiaaaaaaaabaabaabaaaaaaalwaabaabaaaaabaabaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaakQaaaaaaakQakQakQakQakQakQakQaaaaaaakQaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabairaabahoahoahoahoahoaabaeJaaaaeKakRamxamxamxakRaaiaaiaaiamyamzamAamBamCalDalDalDamDamEamFamGamHamIamJamKamLamMamNamLamOamPamIamQamIamRamIamIamRamSamIamRamIamIamTamUamKamSamVamWamXamYamZanaanbaaqamrancalualuandaaaaneaneaneanfaaaaaaagMagMagMaaaaaaaaaaaaaaaaaaaaaaeKaabangangangangangaabanhaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaaaaeJaaaaeKakRamxamxamxakRaaaaaaaaiaaqanianjaaJaaJankalDaaqaaqaaqaaqanlanmaaqaaqaaqannanoanpannaaqaaqaaqanqanraaqaaqansaaqantanraaqaaqaaqanuanvaaqaaJanwanxanyanzaaqalnanbanAaaiaaiaaianBanCanDaaianEaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabanMaabaiqaiqaiqaiqaiqaabaeJaaaafianNanOamxamxakRaaaaaaaaianPanQanRanSanTankalDaaqanUanVanWanXanYanZaoaaobaocaodaoeaofaogaohanZaoiaojaokaolaomaonaooaojaaqaopaoqaoraosaaqaotaouaovaowaoxaoyalnanbaozaoAaoBaoCaoDaoDaoEaaiaoFaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaaaaabaabaabaabaabaaaaoIaoJaoJaoJaoJaoJaoKaabaeJaaaaeKakRaoLaoMaoNaoOaaaaaaaaiaoPaoQaoRaoSaaJaoTalDaaqaoUaoVaoWaoXaoYaoZapaapbapcapdapeapfapbapgaphapiapjapkaplapmapnapoappapqaprapsaptapuaaqapvapwapwapxapwapyalnanbamramramramrapzamrapAapBapCaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaeJaaaaaaaaaaabaaaaaaaabaoHaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapDaaaaeJaaaaeKapEapFapGapGakRaaaaaaaaiaoPaoQapHapIapJankapKaaqapLapMapNapOapPapQapRapSapTapUapVapWapXapYapQapZappaqGaqbaqcaqGapoappaaqaqdaqeaqfaqgaaqaqhaqiapwapxapwaqjalnaqkaqlaqIaqnaqoaqlaqpacaaqqaaqaaiaqraqsaqtaquaqvaqwaqxaqwaqwaaiaaaaaaaaaaeKaabangangangangangaabaoHaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapDaaaaaaaaaaeKakRapGapGapGakRaaaaaaaaiaaiabnaaiaaiaeZaaiaqyaaiaaqaaqaaqaqzaqAaaqaaqaaqaaqaqBaqCaaqaaqaaqaaiaqDaqEauIatPaqHaAfapoaqJaaqaqKaqLaqMaqNabOaqOaqPaqQapxapwaqRalnaqSaqTaqUaqVaqWaqXamraaiaqYaqZaaiaraarbarcardardardardardareaaiaaaaaaaaaaeKaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeJakRapGapGapGakRaaiaaiaaiarfargarhariarjarkarlaaiarmanVanWanXanYanZarnaobaroarparqarrarsartanZaruarvarwarxaryaryarzarAaaqarBarCarDarEaaqarFarGarHapxapwarIalnaqSapzaqTaqTaqTarJarKarLarMarNaaiarOarParQarRarSarTarUarUarVaaiaaaaaaaaaaeKaabaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiarWarXarYarZasaaaiaaaaaaaaaaaaaaaapDaaaaaaaabaeKakRapGapGapGasbascasdaseasfasgashashasiashasjaaiaoUaskaslasmasnasoaspasqasrassastasuasvaswasxasyaszaszasAaszaszasBasCasDasEasFasGasHaaqasIasJasKasLasMasNalnaqSasOasPasPasPasQasRasSasTasUaaiasVasWasXarRarRarRarRarRarRaaiaaaaaaaaaalxaaaaaaaaaaabaaaaaaaaaaoHaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiarWasYasZataarWaaiaaaaaaaaaaaaaaaapDaaaaaaaabaeKakRatbatbatbakRaaiaaiaaiatcatdatdateatfatgathaaiapLatiatjatkatlapQapRatmatnatoatpatnatqapYapQatratsattatsatsattatsatuaaqaqKatvasGatwaaqatxatyatzatAatBatBatCatDanjaaqaaqaaqaaJaaqabnaaiaaiaaiatEatFatGarRatHatIatIatIatIaaiaaaaaaaaaaeKaabangangangangangaabaoHaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaiarWatJatKatLarWaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeKakRatMatMatMakRaaqaaqaaqaaqaaqaaqaaiatNatOaaiaaiaaiaaiatQacsatRacsacsatRacsatRacsacsabuaaiaaiatSatTatUatVatTatUatVatWaaiaaiaaiaaiaaiaaqatXatYatZatZauaaubaucaudaaqaueaufaugaaJauhauiaujaukaaqaaqaulaaJaaqaaqaaqaaqaaqaaqaaiaaaaaaaaaaeJaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaumaunauoaaaaupauqauraaiausautauuautauvaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeKauwauxauxauxauyaaqauzauAauBauCauDezsauFauGauHauHauHauHauHauHauHauHauHauHauJauKauLauHauHauHauHauMauHauHauHauHauNauOauPauQauRauSauTauUaaqauVauWauXauYauZavaavbavcaaqavdaveavfaaJavgavhavgaviaaqavjavkavlavmavnavoavpavqavraaiaaaaaaaaaaeJaaaaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaaaafiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaiavsavtavsaaiavuavvavuaaiavwavxavyavzavAaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqavBavCavDavDavDavEavFavGauNauNauNauNauNauNauNauNauNauNavHauNauNauNauNauNauNavIauNauNauNauNavJauNavKauNavLauNauNavMaaqavNavOavPavQauXavRavbavSaaqavTaveavUavVavgavWavXaukaaqavYavZawaawbawcawdawcaweawcaaiaaaaaaaaaaeJaaaaabaaaaaaaaaaaaaabaoHaaaaaaaaaaaaaaaaabaaaaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaiavsawfavsaaqavuawgavuaaiawhawiawjawkawlaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqauBauBauBawmawnaaqawoawpawqawqawrawsawqawqazDawqawqawqawtawqawqawqawqawqawqawuawvawwawwawwawxawyawzawyawAawBawyawCaaqaaiaaiaaiaaiaaiaaiavbavcaaqawDaveawEaaJavgavWavgaviaaqawFawGawHawcawcawcawcaweawIaaiaaaaaaaaaaeJaeJaeKaaaaaaaaaaabaabaoHaabaaaaaaaaaaaaaeKaeKaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaiawJawKawLaaqawMawNawOaaiawPawQawRawSawTaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaaqaaqaaqaaiannawUaaqawVawWawXaaqawYaaqdirbMqaaqawZaaqaaqaaqaaqaaqaaqaaqaxaaaqaaqaxbaxcaxdalnaaqannaaqaxeaaqaaqaoCamramramramramraxfavcaaqaxgaveaxhaaJavgavWavXaukaaqaxiaxjaxkaxlaxlaxmaxlaxnaxoaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwaaiaaiaaiaaiaxqaxraxsaaqaxqaxraxsaaiaxtaxuaxvaxwaxxaaiaaaaaaaaaaaaaaaaoIaoJaoJaoJaoJaoJaoJaxyaaaaaaaaaaaaaaaaaaaaaaaaaaiaxzaxAaaqaxBaxCaxDaaqaxEaaqaxGaxFaxIaxHaxJaxKaAgaxMaxNaxOaxPaxQaxRaxSaxTauNauOaxUaxVaxWaxXaxXaxXaxXaxXaxYaxXaxXaxXaxXaxZayaaybaycaydayeayfaygayhavgaviaaqaxiayiayjaykaylaymaynayoaxoaaiaypayqayqayqayqayqayraaaaaaaaaaaaaysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaytayuayvayvayuaaiaaiaaiaaiaaiaywayxaaiaaqayyaaqaaiaaqayzaaqaaiayAayBayCayAayDaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayEayFayEaaaaaaaaaaaaaaaaaaaaaaaiayGayHacdayIauBaxDaaqaxEaaqayKayJayLaxHayMayNaxLaxLaxLaxLaxLaxQaxLayOauHauNauOaaqayPayQabOabOabOabOayRayQabOabOabOabOabOabOaySabOayTayUayVabOayWayXaaqaaqaaqayYayZaaqaaqalnaaqaaqaaqaaiazaazbazbazbazbazbazaaaiaaaaaaaaaaysaaaaaaaaianBanCanDaaianBanCanDaaianBanCanDaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvazdazeazfazgazhaziazhazhazjazkazlazmaznazlazoazpazqazrazsaztazuazvazuazwazxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazyazzazAaaaaaaaaaaaaaaaaaaaaaaaiaxEaxAaaqazBazCaxDaaqaxEaaqaARaARaxHaxHdIyaxLaxLazEaxLazFazFaxQaxLayOauHauNazGaaqazHayQazIazJazKaaqazLazMazNazOazPazQazRazSazTazUazVazWazXazYazZaAaaAbaAcaAdaAeaBpaAhaCnaAiaAjaAkaAlaAmazaazbazbazbazbazbazaaaiaabaaaaaaaysaaaaaaaaiaAnaAoaApaAqaAraAsaAtaAsaAsaAsaAsaAraaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAwaAzaAxaACaABaAEaAEaAEaAFaAEaJLbtpaHNaJLbtpbtrbtqbKabIqbNdbNcbNcbNcbNcbNebNfaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaAJaAKaALaAManCanCanCanCanCanDaaiaaiaxEaxAaaqaANaAOaAPabOaAQabOaASaASaBKaATaAUaAVaxLaAWaAXaAYaAZaBaaBbayOauHauNauOaaqaqSaBcaBdazJazKaaqaBeaBfaBfaBfaBfaBfaBfaBfaBfaBfaBfaBgaBhaBiaBjaBkaBlaBmaBnaBoaCTaBnaBqaBraBsaBnaBnaBtaBuazbazbazbazbazbaBuaaiaaiaaiaaaaysaaaaaaazcaBvaAraApaApaAraAsaAsaAsaAsaAsaAsaArazcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiayuaaiaaiaaiaIxbNhaaiaIxbNhaaiaIxbNhaaiaIxbNhaaiaBwaBxaBxaBxaBxaByaAIaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaBzaBAaBBaaiaBCaBDaBDaBDaBDaBDaBEaBFaBGaaqaBHaBIaBJaaqaxAaaqaBMaBLaCXaBNaBOaAYaFBaBPaBQaBRaBSaBTaBUaBVaBWaBXaBYacdaBZaCaaCbazJazKaaqaCcaBfaBfaCdaCdaCdaBfaBfaBfaBfaCeaCfaCgaChaCiaCjaCkaClaCmaCmaXwaCmaCoaCmaCmaCmaCmaCpaCqazbazbazbazbazbaCraCsaCtaCuaaaaysaaaaaaazyaCvaAraCwaApaAraAsaAsaAsaAsaAsaAsaArazyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaaaazcaCyaCzaBxaBxaBxaByaAIaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaCAaCBaCCaaiaCDaaiaaiaaiaaiaaiaaiaaiaCEaaqaCFacdacdacdaCGacdaCHacdacdaCIaCJacdacdaaEacdacdacdacdabtanjaCKauNaCLaaqaqSannaCMazJazKaaqaBeaBfaCdaCNaCNaCOaCdaBfaBfaBfaCPaCQaCRaCSbkUaCUaCVaCWaCUaCUbnLaCUbuuaCYaCZaDaaDbaDcaCuazbazbazbazbazbaCuaDdaDeaDfaaaaysaaaaaaaDgaDhaAraAraDiaAraAsaAsaAsaAsaAsaAsaAraDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaDjaDkaDlaDmaBxaBxaBxaByaDnaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaiaDoaDpaDqaaiaCDaaiaDraDsaDtaDuaDvaaiaCEaxEaxEaxEaxEaDwaDxaDyaDzaDzaDzaDzaDAaDzaDBaDCaDDaDzaDzaDEaDEaDFaDGaDHaDIabOaDJannaCMaCMaCMaaqaBeaBfaCdaDKaDLaDMaCdaBfaBfaDNaDOaCQaDPaDQaBfaBfaDRaDSaBfaBfaBfaBfaDTaDUaDVaDWaBfaDXaDYazbazbazbazbazbaDYaDZaDeaDfaaaaEaaaaaaaaaiaEbaAraEcaApaAraAsaAsaAsaAsaAsaAsaAraaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaEdaEeaEfaEgaBxaBxaBxaByaDnaaiaEhaEiaEjaEkaElaaiaaiaaiaaiaaiaaiaEmaamaaiaCDaaiaDvaEnaEoaDvaDvaaiaEpaEqaEqaEqaEqaEraEsaaiaaiaaiaaiafaabnaaiaEtaaiaeZafaaaiaaiaaiaaiaEvaEwaExaEyaEzaCaaEAaCMaCMaEBaBeaBfaCdaECaCNaCNaCdaBfaBfaBfaEDaEEaEFaEGaBfaBfaDRaEHaEIaEJaEJaEJaEKaBfaBfaCiaBfaELaEMazbazbazbazbazbaENaEOaEPaDYaEQaERaEQaaaaaiaESaAraApaApaAraAsaAsaAsaAsaAsaAsaETaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaEUaEVaDlaDmaBxaBxaBxaByaDnaaiaEWaEXaEYaEZaFaaaiaFbaFcaFdaFdaFdaFeaFdaFdaCDaaiaFfaFgaFhaFiaDvaaiaFjaFkaFjaFjaxEaxEaxAaaiaFlaFmaFnaFoaFpaFqaFraFsaFtaFuaFvaFmaFwaaiaFxauNaFyaaqaFzannbUZaFAaFAbUsezFconbvPaFCaFCaFDaFEaCUaFFaFEaFEaFGaFHaFIaBfaBfaFJaFKaFLaFMaFMaFMaFNaDUaDVaCiaBfaFOaFPazbazbazbazbazbaFQaaiaaiaaiazyaFRazyaaaaaiaFSaFTaApaFUaAraAsaAsaAsaAsaAsaAsaArazcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaFVaFWaFXaFYaBxaBxaBxaByaDnaaiaFZaGaaGbaGcaGdaaqaGeaGfaGgaGhaGhaGiaBDaBDaGjaaiaDvaEnaGkaDvaDvaaiaGlaxEaGmaFjaxEaxEaxAaaiaGnaGnaGoaGpaGqaGraGsaGraGtaGuaGvaGwaGwaaiaFxauNaGxaaqaFzannaCMazJazKaaqaBeaGyaGzaGAaGBaGCaGCaGDaGEaGCaGEaGFaGGaGHaGIaGJaGKaGLaGMaGNaGOaGPaGQaaqaGRaGSaGRaaqaGTazbazbazbazbazbaGUaaiaabanBaAKaGVaGWaGXaaiaGYaGZaHaaAraAraAraAraAraAraAraAraArazyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaiaaiaaiaaiaaiaIxbScbOZaaiaIxbScbOZaaiaaiaaiaaiaHbaBxaBxaBxaBxaByaDnaaiaHcaHdaHeaHfaHgaaqaHhaFdaCDaHiaFdaFdaFdaHjaHkaaiaDvaHlaHmaDvaDvaaiaxEaxEaHnaFjaxEaxEaxAaaiaaiaaiaaiaHoaHpaFmaHqaFmaHpaHraaiaaiaaiaaiaFxauNaHsaaqaFzannaCbazJazKaaqaHtaHuaaqaaqaaqaaqaaqaaqaaqaHvaaqaaqaaqaaqaaqaaqaHwaaqaHxaHyaHyaHyaHzaaqaHAaHBaHCaaqaGTazbazbazbazbazbaGUaaiaaaaaiaHDaHEaHFaaiaaiaHGaHHaHIaAraAraAraAraAraAraHJaAraAraDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaHKaHLaHMazlazlciOazlazlazlcjAaHOaHPaaiazcaHQaCzaBxaBxaBxaByaDnaaiaaqaaqannaHRaaqaaqaHhaFdaCDaaiaaiaaiaaiaaiaaiaaiaaiabnaHSaaiaaiaaiaaiaaiaaiaaiaaiaaiaxAaaiaHTaHTaGoaHUaHVaGraGsaGraHVaHWaHXaHYaHZaaiaFxauNaFyaaqaIaayQazIazJazKaaqaIbaHuaaqaIcaIdaIeaIeaaqaIfaIdaIgaaqaIhaIiaIjaaqaIkaaqaHxaHyaHyaHyaHzaaqaIlaImaInaaqaIoaIpaIpaIpaIpaIpaIqaaaaaaaaiaIraIsaItaaiaaiaIuaIvaIwaaqaaqaaqaaqaaqaaqaaqaaqaaqaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIxaIyaIzaBxaBxaBxaBxemRaBxaBxaBxemRaBxaIAaIBaICaIDaIEaAGaAGaAGaAHaDnaaiaIFaIGaIHaIIaaqaaqaIJaFdaCDaaiaIKaILaIMaILaINaaiaIOaIPaIQaIRaISaaiaITaITaIUaITaIVaaiaxAaaiaFlaFmaIWaIXaHpaFmaIYaFmaHpaIZaJaaFmaFwaaiaFxauNaFyaaqaFzaBcaBdazJazKaaqaJbaJcaaqaJdaIdaIdaIdaHvaJeaJfaJgaaqaJhaJiaJjaJkaJlaaqaJmaJnaJoaJnaJpaaqaJqaJraJsaaiaaaaaaaaaaaaaabaaaaaaaaaaaaaaiaJtaJuaJvaaiaaiaJwaJxaJyaaqaJzaJAaJBaJBaJBaJBaJBaJCaJDaJEaJEaJFaJEaJEaJEaJEaJGaJHaJIaaiaJJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaJKaJLaJLaJLaJLemTaJLaJLaJLemTaJMaJNaJOaJPaJOaJQaJRaJRaJRaJSaJTaaiaJUaJVaJWaJXaJYaaqaHhaFdaCDaaiaJZaINaINaINaINaaiaKaaKbaKcaKdaKeacsaKfaKfaKgaKfaKhaaiaxAaaiaHTaHTaGoaKiaHVaGraKjaGraHVaKkaGvaKlaKmaaiaKnaxcaKoaaqaFzaBcacdacdacdacdaKpaKqaKraKsaKtacdacdacdaaEacdabtaKuaKvaKwaKxacdaKyaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaiaaiaaiaaianBanDaaiaaiaaiaaiaaiaaiaKzaamaaiaaiaKAaKBaKCaKDaKEaKFacdacdacdacdacdaKGaKHacdacdaKIacdaKJacdacdaaEaKKaaqaaqaKLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKNaKOaKOaKPaKOaKOaKQaKRaKOaKOaKPaKSaDmaKTaKUaKVaKWaKXaKYaKYaKYaKZaLaaaiaLbaLcaLdaLeaLfaLgaLhaLiaGjaaiaLjaLkaLlaLmaLnaLoaLpaLqaLraLsaLtaLuaLvaLwaLxaLyaLzacaaLAaaiaaiaaiaaiaLBaHpaFmaHqaFmaHpaLCaaiaaiaaiaaiaLDaLEaLFaaqaIaaLGarKarKarKaLHaLIaLJabOaLKaLLabOaLMabOaLNabOaLOayXaLPaLQaLRaaqaLSaLTaLUaLVaLVaLTaLWaLXaLXaLXaLXaLXaLYaLZaLXaMaaMbaMcaMdaMeaMfaMfaMgaMhaMiaMjaMkaMlaJxaMmaMnaMoaMpaaqaMqaMraMsaaqaMtaMuaaqaMvaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFaaiaMGaMGaMHaMIaMJaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKNaMMaMNaMNaMNaMOaMPaMQaMRaMSaMOaMNaMTaMUaMVaaiaDgaHKaMWaBxaBxaBxaMXaMYaaiaMZaNaaNbaNcaNdaaqaNeaNfaFdaaiaNgaNhaNiaNjaNkacsaNlaNmaNnaNoaNpaaiaNqaNraNsaITaNtaaiaxEaaiaFlaFmaNuaIXaHpaFmaHqaFmaHpaIZaNvaaiaaiaaiaNwaNxaNyaNzaNAabnaaiaaiaaiaaqaNBaNCaaqaNDaIdaaqaNEaaqaNFaaqaNGaNHaNIaNJaNKaNLaNMaNNaNOaNPaNQaySaNRaNQaNQaNSaNQaNNaNTaNNaNUaNNaNNaNVaNWaNXaNYaNYaNZaOaaObaOcaOdaOeaOfaOfaOgaOhaOiaOjaOkaOlaOmaaqaOnaOoaaqaOpaOqaOraOsaMzaOtaMBaMCaMDaOuaOvaaiaMGaMIaMIaMIaMIaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOwaMTaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaOAaKOaKSaaiaaiaOBaBxaBxaBxaBxaOCaODaaiaOEaOFaOGaOHaOIacdaOJaOKaaqaaiaINaOLaOMaINaINaaiaONaNmaNnaNoaOOaaiaOPaNraOQaORaITaaiaxEaaiaOSaOTaGoaOUaOVaGraOWaGraOXaOYaOZaaiaPaaPbaPcaPdaPeaPfaPgaPhaaaaaaaaiaPiaPjaPkaaqaPlaIdaIdaIdaPmaIdaIdaIdaaJaPnaPoaaqaMtannaaqaPpaaqaaqaPqaPraPsaPtaPuaaqaPvaPwaaqaMtaaqaaqaaqaaqaPxaaqaaqannaaqaaqaaqaaqaPyaPzaPzaaJaOiaPAaPBaPCaPDaPEaaqaPFaPGaaqaPHaPIaPJaOsaPKaOtaMBaMCaMDaPLaPMaaiaPNaMIaMIaMIaMIaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaOxaOyaOzaOxaOzaMNaOzaOxaOzaPQaMTaMNaPRaKSaaiaPSaBxaBxaBxaBxaPTaPUazraPVaPWaPXaPWaPYaPZaQaaQbaQcaaiaaiaeZaaiaaiaaiaaiaQdaQeaQfaQdaQgaaiaaiaeZaaiaaiaaiaaiaQhaaiaaiaaiaaiaQiaQjaQkaQlaQkaQmaQnaaiaaiaQoaPdaPdaPdaPdaQpaQqaQraQsaQtaaiaQuaPjaQvaaqaaqaaqaaqaaqaaqaaqaaqaaqaaJaQwaQxaQyaQzaQAaQBaQCaQDaaqaQEaQFaQGaQHaQIaaqaQJaQKaQLaQMaQLaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaaqaQXaQYaQZaRaaRbaPAaRcaPCaPDaRdaaqaReaRfaRgaRhaRiaOsaOsaaqaOvaMBaMCaMDaRjaRkaaiaMIaMIaRlaMIaRmaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaRnaOyaOzaOxaOzaRoaOzaOxaOzaOyaKPaMNaRpaRqaaiaRraBxaBxaBxaBxaByaRsaBxaRtaRuaRvaRwaRxaQcaRyaRzaQcaRAaRBaRCaQcaQcaQcaRDaQcaRyaREaQcaRFaRGaQcaRHaQcaRIaRBaRJaRKaRLaRMaRNaROaRPaRQaRQaRQaRQaRQaRQaRRaRSaRTaRUaRVaRWaRXaRYaRZaSaaPdaPdaSbaScaSdaScaSeaSfaSgaShaSiaSjaSkaaqaSlaSmaSnaSoaSpaSpaSqaSraSsaStaaqaSuaSvaSwaSwaSxaaqaSyaSzaSAaSBaSCaSCaSDaSEaSFaSEaSGaSHaSIaSJaSKaaqaPyaPzaSLaSMaSNaSNaSOaSPaSNaSQaaqaSRaSSaaqaSTaSUaOsaOsaaqaSVaSWaSXaMDaOvaOvaaiaSYaSYabnaaiaSZanCanCanCaTaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaMTaMNaTbaTcaaiaTdaBxaBxaBxaBxaByaTeaJRaTfaTgaThaTgaTiaTjaRyaTkaTlaTmaTnaToaTlaTlaTlaTpaTlaQaaTqaTlaTraTlaTlaTsaQcaRIaRBaRJaRKaRKaRKaRKaTtaRKaRKaRKaRKaRKaRKaTuaTvaTwaTxaTyaTzaTAaTBaTCaTDaTEaTEaTEaTFaTGaTGaTGaTHaSkaSkaSkaTIaTJaSkaaqaTKaTLaSpaTMaSpaSpaTNaTOaSsaTPaaqaTQaTRaTSaTTaTUaaqaTVaTWaTXaTYaTZaUaaaqaUbaUcaUbaaqaaqaaqannaaqaaqaPyaPzaPzaaJaUdaOiaOiaUeaOiaUfaaqaaqaaqaaqaaqaaqaaqaUgaaqaMDaMDaMCaMDaUhaUiaaqaUjaUkaUlaUkaUmaUnaUoaUpazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUqaMTaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaOAaKOaTcaaiaaiaUraBxaBxaBxaBxaByaUsaBxaRtaUtaUuaUvaRxaQcaUwaUxaUyaUzaUAaUBaUCaUCaUDaUEaUFaUGaUHaUCaUIaUCaUCaUJaUKaULaUAaUMaUNaUOaUPaUQaURaUQaUQaUQaUQaUQaUQaUSaUTaUUaUUaUUaUUaUVaUUaUWaUXaUUaUUaUUaUYaUZaUZaUZaUZaUZaUZaUZaVaaSkaSkaaqaVbaVcaVdaVeaVeaVfaVgaTOaSsaVhaaqaaqaaqaaqaaqaViaaqaVjaVkaVlaVmaQLaQLaaqaVnaVoaVpaVqaVraVsaVtaVuaaqaPyaPzaVvaaJaVwaVwaVxaVyaVzaVzaVAaaqaVBaVCaVDaaqaVEaVFaVGaMDaMDaVHaVIaOvaVJaaqaVKaUkaUlaUkaVLaUkaUkaVMazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaMMaMNaMNaMNaMNaVOaMNaMNaVPaMNaMNaMTaVQaVRaaiazcaHQaVSaBxaBxaBxaVTaVUaADaVVaVWaVXaVWaVYaVZaRyaWaaWbaaiaaiaaiaaiaaiaaiaaiaQdaWcaWdaQdaWeaaiaaiaeZaaiaaiaaiaaiaWfaWgaWfaWhaQsaQsaQsaQsaQsaQsaQsaQtaaiaWiaWjaWkaWlaWlaWmaWnaWoaWpaWjaWqaaiaEUaQsaQsaQsaQsaQsaWraWsaWsaWsaaqaWtaWuaWvaWvaWvaWvaWwaKvaWxaWyaWzaWAaWBaWCaWDaWEaaqaaqaWFaQdaWGaWHaWIaaqaVnaWJaWKaWKaWKaWKaWLaWMaaqaWNaPzaPzaaJaWOaOiaVxaVyaOiaOiaWPaaqaWQaWRaWSaaqaMDaWTaWUaWVaWVaWWaWXaWYaWZacdaXaaXbaXcaXdaVLaUkaUkaXeazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaKOaKOaKPaKOaKOaKQaKRaKOaKOaKPaTcaDmaKTaXfaXgaKWaXhaKYaKYaKYaXiaXjaaiaXkaXlaXmaXnaXoaaiaXpaXqaXraaiaXsaXtaXuaXvaXvaaiaONaKdbvQaXxaXyaaiaXzaXAaXBaXCaXDaaiaXEaXFaRPaXGaaaaaaaaaaaaaaaaaaaaaaaiaXHaXIaXJaXKaXLaXMaXLaXNaXOaXPaXQaXRaaiaaaaaaaaaaaaaaaaaaazyaXSaSkaXTaXUaWyaXVaWyaWyaWyaWyaWyaXWaXXaWyaWyaWyaWBaXYaXYaXZaYaaYbaYcaYdaYeaYfaYgaaqaYhaYiaYjaYkaYkaYjaYlaYmaaqaPyaPzaPzaaJaYnaYnaVxaVyaYoaYoaYpaaqaaqaYqaaqaaqaYraVFaVIaYsaYsaYtaVIaOvaaqaaqaYuaUkaYvaYvaYwaYvaUkaXeazyaaaaaaaaaaYxaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaYyaYzaYzaYzaYzaYzaYzaYzaYzaYzaYAaJNaJOaJPaJOaYBaJRaJRaJRaYCaYDaaiaYEaYFaYGaYHaYIaaiaRyaWaaQcaaiaYJaXtaYKaXtaXtaaiaYLaNoaYMaNoaYNaaiaYOaYPaYQaYRaYSaaiaXEaXFaRPaXGaaaaaaaaaaaaaaiaaiaaiaaiaYTaYUaYVaYWaYXaYYaYZaZaaZbaZcaZdaZeaaiaaiaaiaaaaaaaaaaaaazyaXSaSkaSkaZfaWyaZgaZhaZiaWyaZjaZkaJjaZlaZmaZiaWyaWBaXYaXYaZnaZoaXYaZpaZqaZraZsaXYaZtaZuaZvaYjaYkaYkaYjaZwaZxaaqaZyaPzaPzaaJaWOaOiaVxaVyaOiaOiaOiaZzaZAaOiaZBaaqaZCaZDaZEaYsaYsaZFaZEaZGaaqaZHaUkaUkaZIaZIaZJaZIaUkaXeaGWaZKanCanCaZLaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIxaIyaZMaBxaBxaBxaBxaBxaBxaBxaBxaBxaBxaIAaZNaZOaIDaZPaAGaAGaAGaAHaZQaaiaZRaZSaZTaZUaZVaZWaZXaZYaQcaaiaZZbaababbacbadbaeaUCbafbagbafaUJbahbaibajbakbalbamaaibanbaoaRPbapanDaaiaaiaaiaaibaqbarbasbatbaubaubavbawbaubavbawbaxbaybaubazbaAbaBaaiaaiaaiaaiaEUbaCaXSaSkaSkaaqbaDaZgaZmaZiaWybaEbaFaWybaGbaHaZiaWyaWBaXYaXYbaIbaJbaKbaLbaMbaNbaOaXYbaPaZubaQaYjaYkaYkaYjbaRaZxaaqaPyaPzaPzaaJbaSbaSaVxaVybaTaOiaOibaUaOibaVbaWaaqbaXbaYbaZaYsaYsbbabaZbbbaaqbbcaUkaUkaUkaUkaVLaUkaUkbbdbbebbfbbgbbhbbiaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaHQbbjbbkaAAaAAaAAaAAaAAaAAbblbbmbbnaaiaDgaHKaFYaBxaBxaBxaBybboaaibbpbbqbbrbbsbbtacsbbubbvbbwaaibbxbbybbzbbybbyacabbAaNoaYMaNobbBaaibbCaXAbbDaXzbbEaaiaXEaXFaRPaRQaRQbbFbbGbbHaaibbIaYYbaubbJbaubaubaubaubbKbaubbLbaxbbMbbNbbNbbObbPaaibbQbbGbbRbbSbbTaXSaSkaSkaZfaWyaXVaWyaWyaWybbUbbVaWybaGbbWaZiaWyaWBaXYaXYbbXbbYbbZbcabcbbaNbaObccaaqbcdbaQaYjaYkaYkaYjbaRbceaaqbcfbcgbcgaaJaaqaaqbchaVybcibcjaOibckbclaRcbcmacdbcnbcobcpbcqbcqbcrbcsbctacdbcuaXdaUkbcvaUkaVLaUkaUkbcwbcxaZKanCanCbcyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiaHbaBxaBxaBxaBxaBybboaaibczbcAbcBbcCaaqaaiaRybbvaQcaaiaXtbcDbcEaXtaXtaaiaRHaNoaYMaNoaRHaaiaXzaXAbcFbcGbcHaaiaXEaXFaRKaRKaRKbcIbcJbcKbcLbcMbcNbaubvTbcPbcQbcRbcSbcTbcUbcVbcWbcXbcYbcMbcZbdabdbbdcbddbdebdfbdgbdhaSkbdiaaqaWyaZgbdjaZiaWybdkbdlaWybdmbdnaZiaWybdoaXYaXYaXYaXZaXYbdpaXYbaNbaObdqaaqaZxbaQaYjaYkaYkaYjbaRaZxaaqbdrbdsbdsbdtbdubdvbdwbdxbdybdybdybdybdybdybdzbdAbdBaYsaYsaYsaYsaYsaYsbdCbdDbdEaUkaUkaUkaUkaVLaUkaUkbdFazybdGbdGbdGazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdJbdIbdIbdIbdIbdJbdKbdLbdMbdNaKYaKYaKYaKYaKZbdOaaiaaiaaiaaiaaiaaiaaiaRybbvaQcaaiaaiaaiaaiaaiaaiaaibdPaNoaYMaNobdQaaiaaiaeZaaiaaiaaiaaiaXEbdRbdSbdTbdUbdVbdWbdXacsbdYbdZbeabebaXHaXHaXHaXHaXHaXHbecbedbeebefbcPbegbehaaibeibejbekbelbembenaSkaSkaZfaWybeoaWyaWyaWyaLQaWyaWybepbepbeqbeqberaXYaXYbesbetaXYaXYaXYbeubevbewaaqaZxbaQaYjaYjaYjaYjbaRaWMaaqbexaPzaPzbeyaPzbezaVxaVxaVxaVxbeAaVxaVxaVxbeBbdDaYsaYsaYsaYsaYsaYsaYsbdCbdDbdEaUkaUkaYvaYvaYwaYvaUkbeCazybeDbeEbeFazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdIbdIbdIbdIbdIbdIbdIbdIbeGaDmaBxaBxaBxaBxaBybboaaibeHbeIbeJbeKbeLaaqbeMbbvaQcaaibeNbeObePbeQbeQacaaTrbeRbeSbeRaTracabeTbeUbeVbeWbeXaaibeYbeZbfaaaiaaiaaiaaiaaiaaiaaqbfbaaqaaiaaiaaiaaiaaiaaiaaiaaiaaiaeZaaiaaibfcaaiaaiaaiaaiaaiaaiaaibenaSkaSkaaqbfdbfeaWybffaWybfgaWybfhbfibfjbfkbflaaqbfmbfnaaqaaqbfobfpbfpbfpaaqaaqaaqbfqbfrbfsbfsbfsbfsbfrbftaaqaPyaPzaPzbeybfuaaqbfvbfwbfxbcjbfybfwbfzbcjbfAaaqbfBaMDbfCaYsaYsbfCaMDbfDaaqbfEaUkaUkaZIaZIaZJaZIaUkbdFazybdGbdGbdGazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdIbdIbdIbdIbdIbdIbdIbfFbfGbfHaAGaAGaAGbfIaAHbboaaibfJbfKbfLbfLbfLbfLbbubbvaQcaaibfMbfNbfObfPbfQaaibfRaNoaYMaNobfSaaibeWbfTbfUbeTbfVaaibfWbfXbfYaaibfZbgabgbbgcbgdbgebgfbggaaiaaibghbgibgjbgkbglbgmbgnaeZaaibgobgpbgqbgrbgsbgtbgubgvaaibgwbgxbgxbgyaaqaaqaaqaaqbgzaZfbgzbgAaaqannaXUaaqaaqaaqaaqaaqbgBbgBbgBbgBbgBbgCbgDaaqbgEbgFbgEbgGbgGbgEbgFbgEaaqaPyaPzaPzaJxbfuaaqaaqaaqaaqaaqaaJaaqaaqaaqaaqaaqaaJbgHbgIbgIbgIbgIbgJaaqaaqbgKaUkaUkaUkaUkaVLaUkaUkbcwaGWbgLanCanCbgMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiaDmaBxaBxaBxaByaBybboaaibgObgPbgQbgQbgQbgQaQabgRbbwaaibgSbgTbgUbgVbgWbgXaUCbgYbgZbafaUCbhabhbbhcbhdbhebhfaaibhgbhhbfYbhibhjbhkbhlbhmbhmbhlbhnbhoaaiaaibhpbhqbhrbhsbhtbhubhvbhwbhxbhybhzbhAbhBbhCbhDbhAbhEaaibhFbhGbhHbhIbhJbhKbhLbhMbhMbhMbhMbhMbhMbhNbhMbhMbhObhMbhPbhMbhMbhMbhMbhMbhMbhMbhMbhQbhRbhSbhSbhSbhSbhSbhSbhTbhKbhUbhVbhVbhWbhXbhYbhXbhZbhXbiabibbicbhXbidbiebifbigbihbihbihbihbihbihbihbiibijbikbikbikbikbilbikbimbinbiobipbiqbbhbiraKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisaaaaaaazcaAyaCzbitbiuaBybivbiwaaibfJbixbixbixbiyaaqbeMbbvaQcaaibizbfPbfObfPbfPaaibfRbiAbiBaaibfSaaibiCbiDbiEbeWbiFaaibhgbhhbfYbiGbiHbiIbiJbiKbiLbiMbhnbiNaaiaaibiObiPaaqaaqaaqbiQbiRaaiaeZbiSbhAbhAbhBbiTbhDbhAbiUaaibiVbhHbhHbhIbhJbhKbhMbhMbhMbhMbhMbhMbhMbiWbhMbhMbhMbhMbhMbhMbiXbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiZbjabjbbihbihbjcaPzaPzaPzaPzaPzbeyaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzbjdaPzbjebjfaUkaUkaUkaUkaUkaUkaUkbjgbcxaZKanCanCaZLaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisaDjaDkaDlaaiaaiaaibjhaaiaaiaaibfJbixbixbixbixaaqaRybbvaQcaaibfPbjibjjbfPbfPaaibjkbiAbjlaaibjkaaibeWbiDbjmbjnbeWaaibjobhhbfYbjpbjqbiIbiJbjrbjsbiMbhnbjtaaibjubjvbjwaaqbjxaaqbhqbjybjzaeZbjAbjBbjCbjDbjDbjEbhAbjFaaibjGbjHbhHbhIbhJbhKbhMbjIbhMbhMbhMbhMbjJbjKbjKbjKbjKbjLbhMbhMbhMbhMbjMbhMbjIbjNbhMbjObjPbjQbhMbjRbjSbjSbjTbjUbjVbjWaPzaPzaPzaPzaPzaPzaPzbjXbjYbjZaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzbkabkbbkbbkcbkdbkebkfbkgbkgbkgbkhbkibkjaDgaaaaaaaaabkkaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisbklbkmbknbkobkpbkqbkrbksbkpaaibeHbktbktbkubkvaaqaRybbvaQcaaiaaiaaiaaiaaiaaiaaiaaibiAbkwaaiaaiaaiaaiaeZaaiaaiaaiaaibkxbhhbkyaaibkzbkAbhlbhlbhlbhlbhnbkBaaiaaibkCbkDbkEbkFbkGbkDbkHaaiaeZaaibkIbkJbkKbkLbkMbkNbkOaaibkPbkQbkQaaiaaiaaiaaiaaiaaiaaiaaqaaqbkRbkSbkTbkTbkSbkRaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbvUbkVaaqaaqaaqaaqaaibkWannbkXaPzaPzbkYbkYaaiaaiaaiaaiaaibkZbkbbkbbkabkbaPzbkbbkbbkbbkbblaaaiblbaaiaaiblcaaiaaibldbleblfaaiaaiaaiaaiaaiaaaaaaaaaaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisaEUaEVaDlblgblhblhblibljblhaaiblkblkblkbllblmaaqaRybbvaQcaaqblnbloblpblqblraaiblsbiAbltaaibluaaiblvblwblxblyblzaaqblAbhhblBaaiblCblDblEblFblGblHblIaaiaaiaaiblJblKblLblMblNblOblPaaiaeZaaiblQblRblSblTbkMbhAblUaaiblVblWblXaaiblYblZbmabmbbmcbmdbmebmfbmgbmhbmibmibmhbmjbmkbmlaaqbmmbmnbmobmpaaqbmqbmrbmsbmtbmubmvbmvbmwbmxbmyabnaaibmzaaibmAbmAaaibmBbmCbmDaaibmEbmFbmGaaibkZbkbblaaaiaaibmHbmIaaibmJbmKaaibmLbmMaaibmNbmObmPbmQbmRbmSbmTaaiaaaaaabvVaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisaaabmUaFWbmVbmWbkpbkpbmXbmYbmZaaiblmblmblmblmblmaaqaRybbvbcOaaqbnabnbbncbnbbndaaibnebnfbngbnhbnhaaibnibnjbnkbnkbnlbnmbnnbhhbnoaaibnpaeZaaiaaiaaiaaibnqaaibnracsbnsbntbghbnubghbnvbnwacabnxaaibnybhAbnzbnAbkMbnBbnCaaibnDbnEbnFaaibnGbnHbnIbnJbnKbxMbnMbmibmibmibmibmibmibmibnNbnObnPbnQbnRbnSbnTaaqbnUbnVbnWbnXbnYbnZbnVbmwbmxbmyabnboabobbocbodboeaaqbofbogbofbohboibojbokaaiaaqbolalgbombonboobopbooboqborbosbotboubosbovbowboxboybozboAboBaaiaaaaaaaaaaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboCayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiblgbkpblhblhblibljblhaaiboDboEblkblkbllaaqbeMbbvboFaaqboGboHboIboJboKaaibnhboLboMbnhbnhaaiboNboOboPboQboRboSboTboUboVabOboWboXboYboZabObpabpbabObpcacaacaacaacabpdacaacaacaacabpeacabpfbpgbphbpibpjbpkbplacabpmblWblWaaibpnbpobppbpqbpraaibnMbmibmibmibmibmibmibmibpsbptbpubpvbpwbpxbpyaaqbpzbpAbpBbnXbmwbnZbnVbmwbmxbpCbpDbpEbpFbpFbpGbpHbpIbpJbpJbpJbpKbpLbpMbpNbpObpPbpQbpRbpSbpTbpUbpVbpWbpXbpYaaibpZbqaaaibqbbqcboxboybowboAbqdaaiaaaaaaaaaaaaaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaazcblgbkpbkpbkpbmXbmYbqfaaiblmblmbqgbixbixbqhaRybbvaQcaaqbqibqjbqkbqlbqmaaibqnbqobqpbqqbqraaibqsbqtbqubqvbqwbqxbqybqzbqAbqBbqCbqCbqDbqEacdbqFbqGacdbqHbqIbqJbqKbqLbqMbqNbqKbqObqIbqPaaiabnbqQaaiaaiaaiaaibqRaaibqSblWbqTacsbqUbqVbqWbqXbqYaaibqZbrabrbbrcbrdbrebrfbrgbnNbrhaaqbribpwbrjbrkaaqbrlbrmbnWbnXbmwbnZbnVbmwbmxbmyabnbrnbrobrpbrqbrrbrsbrtbrubrvbrvbrwbofbrxaaibrybrzbrAaaibrBbrCbrDbrEbrFbpYaaibpZbrGaaibrHbrIboxbrJbrKbrLbrMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaazybrNbrOblhblhblibljblhaaiaaqbrPbrQbrRaaqaaqbeMbbvaQcaaqbrSbrTbrUbrVbrWaaibnhboLbrXbnhbnhaaibrYbrZbsabsbbscaaqbsdbsebsfaaqbsgaaiaaiabnaaiaeZbshaaibsibsjbskbqKbslbqMbslbqKbsmbsjbqPaaqbsnbjDbsobspbsqabObsrabObssblWbstaaiblYblZbsubsvbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbkSbsIbsJbsKbsLaaqbsMbsNbsObsPbsQbsRbsQbmwbmxbsSbsTbsUbsVbsVbsWbsXbsYbsZbtabtbbtbbtcbtdbteaaibtfbrzbtgaaibthbrCbtibtjbrFbtkaaibtlbtmaaibtnbrIbtoaaqaaqaaqaaqaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaDjaDkbtsbttbkpbkpbmXbmYbmZaaibtubixbtvbixbtwaaqaRybbvaQcaaqaQdbtxbtybtzbtAaaibnebtBbtCbtDbtEaaibtFbtGbtHbtIbtFaaqbtJbtKbtLaaqaaqaaibtMbtNbtObtPbtQaaibtRbtSbtTbtUbtVbtWbtVbtXbtYbtZbuaaaqbubbjDbucaaqbudaaqbueaaqbufblWbugaaiaQdbuhbtxbuibujaaqbukbulbumbunbuobuobupbuqburbusaaqbutbCRannaaqaaqaaqaaJbuvannaaqaaiaaiaaibuwbuxabnbrnbrobrpbuybsVbuzbuAbuBbuBbuBbuCbuDbuEbuFaaibolbuGaaibuHbuIbuJbuKbuLbuMaaibpZbuNaaibuObuPbuQbuRbuSbuTbuUaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqebuVbuWbuXbuYblhblhblibljblhaaibuZbixbvabixbvbaaqaRybbvaQcbvcbvdbvebvfbvgbvhaaiaaiaaiaaibviaaiaaibvjbvkbvlbvmbvnaaqbvobvpbvqbvrbvsbvtbvubvvbvwbvxbvyaaibsibvzbvAbqKbtVbvBbtVbqKbvCaaibqPaaqbvDbvEbvFaaqbvGaaqbvHaaqbvIblWbvJaaibvKbvLbvMbvNbvOabObEybDrbvRabObvSbETabObvRbNMbLWaySayVbvWbvXbvYbvZbwabwbbwcbwdbweaaibwfbwgbwhbwiabnbwjbwkbwlbwmbwnaaqbwobuBbuBbwpbwqbuDbwraaibwsbwsbwtaaibwubwvbwwbwxbwwbwyaaibpZbwzaaibwAbwBbwCbwDbwEbwFbwGaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaEUaEVbtsblgbkpbkpbmXbmYbkpaaibwHbgPbgQbgQbwIabOaQabgRbbwaaqbwJbnjbwKbwLbwMbwNbwObwPbwQbwPbwRbwSbwTbwUbwLbwVbwWaaqbtJblWbwXbwYbwZbxabxbbxcbxdbxebxfaaibsiaaiaaibxgbxhbxibqKbxjbxkacabxlaaiabnaaiaaiaaiaaiaaibxmaaibxnblWbvJaaibxobxpbxpbxqbxraaqbxsbxtbxubxvbxwbxxbxybxubxzbxAbxBbxCbxDbxEbxFbxGbxHbxIbxJbxKbxLbOobxNbxObxPbxQbxRbxSbxSbxTbxUbxVaaqbxWbofbofbxXbxYbuDbxZaaqbyabybbycaaqaQdbuhbtAbydbgEaaiaaibyeaaiaaibyfbygaaibyhbyibyjbykboAboAbylbymbynaaiaaaaaaaabbyobypbyqbypbyqbypbyraaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqebytbyubmVbmWblhblhblibljblhaaibyvbfKbfLbywbyxbyybyzbyAaQcaaqbyBbnjbwKbwLbnlaaqbyCbyDbnkbnkbyEbyFbyGbwUbwLbyHbyIbyJbtJblWbyKbyLbwZbyMbyNbyObyPbyQbyRbySabubxkacaaqqbyTbvBbyTbxkbyUaaiaaiaaibyVbyWbyXbyYbyZbzabzbacabzcblWbvJbsxbzdbzebzfbzgbzhaaqbzibzjbzkbzlbzmbznbzobzpbzqbzrbzsbztbzubzvbzwbzxbzybzzbzAbzBbzCaaibzDbzEbzFbzGaaibzHbzIbzJbzKbzKaaqbzLbzMbzNaaqbzObuDbzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbAebAfbAgbAhbAibyibAjboAboAboAbAkbAlbAmaaiaaaaaaaabbAnbAobApbAqbAqbArbAnaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaaAublgbkpbkpbkpbAsbAtbAuaaibAvbixbAwbAxbAyamZbAzbAAaQcaaqbABbACbADbAEbAFbAGbAHbAIbAJbAJbAKbAGbALbAMbwLbANbAOaaqbAPblWbyKbyLbwZaaibAQbARbASbATbAUabnbAVbAWbAXbAYacabAZbBabAYbBbbBcbBdaaibBebBfbBgbBhbBibBibBjbBkbBlblWbBmaaiaaqbBnbgEbBobBpbkVbBqbBraaqbBsbBtbznbBuaaqbBqbBvbBwaaqaaqaaqannaaqaaqaaqbBxalnaaqaaiaaibByaaqaaqaaiaaiaaqaaJaaqaaqaaqaaqaaqaaqaaqbBzbBAbBBbBCbBDbBEbBFbBGbBGbBHbBIbBJbBKbBLbBMbBNbBObBPbBQbBRaaibBSbBTbBUboAboAboAbBVbAmbBWaaiaaaaaaaabbBXbBYbApbAqbApbBZbyqaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaibCaaeZaaibviaaqaaqaaqaaqaxUbCbamZamZbCcamZbCdbCebCfbCgbChbCibCjbnkbCkbnkbClbwSbCmbnkbwLbnkbCnbgEbtJblWbCobCpbCqaaibCrbCsbCtbCubCvabnbCwbCxbCybCzbCAbCBbCCbCDbCEbCFbCGaaibCHbCIbCJbCKbCLbCMbCNaaibCObCPbvJbCQbPTbCSbCTbCUbCVbCWbCXbzjbgEbCYbCZbDabDbbgEbBqbBvbBwbDcbDdbDebDfbDgbDhbDibDjbDkaaqbDlbDmbDnbDobDpbDqbQAbAabDsbBGbBGbDtbDubBGbDvbDwbDxbDybDzbBGbDAbDBbDCbDDaakbDEaaiabnaaiaaiaaibyeaaiaaibDFbDGaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibAnbAqbApbAqbAqbDHbAnaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaabDJbDKbDLbDLbDLbDMbDNbDObDObDObDObDPbDObDObDQbDObDObDObDObDObDRbDSbDTbDOalnbDUbnkbnkbnkbClbDVbDWbDXbwLbDYbDZbEabtJblWbEbbEcbwZaaibEdbEebEfbARbEgabnbEhbEibEjaaibEkbElbEmacsbEnbEobEpaaibEqbErbEsbEtbCLbCMbCNaaibEubEvbEwbExbQObEzbEAbEBbECbEDbEEbEFaaqaaqbEGbEHaaqaaqbBqbBvbBwbgEbEIbEJbEJbEJbEKbEJbELbEMbENbEObEPbEQbEQbERbESbRmbEUbEVbzVbzVbEWbzVbEXbzVbEYbzVbEZbFabFabFbbFcbFdbFebFfbFgbFhbFibFjbFkaaibFlaaibFmbFnbFobFpbFqbFpbFpbFpbFpbFpbFqbFpbFpbFpbFpbFrbFsbFtbypbyqbFubyqbypbFvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaaaXGbFwbFxbFxbFxbFybFzbDObDObDObDObDObDObDObDQbDObDObDObDObDObDRbDSbDTbDOalnbFAbFBbFCbFDbFEbFFbFGbFHbFIbFJbFKbgEbtJblWbFLbFMaaqaaiaaiaaiaaiaaibshabnaaibFNabnacsabnbFOaaiaaiaaiaaiaaiaaiabnaaiaaiaaiaaiaaiaaiaaibFPblWbFQbkSaaqbFRbFSaaqbFMbBqbFTbFUbCVbFVbFWbFXbFYbFZbCXbGabGbbGcbGdbGebGebGebGfbGebGgbGhbGibGjbGkbGlbDnbGmaaiaaiaaiaaiaaiaaibGnaaiaaiaaiaaJbGoaaqaaqbGpbGqbGrbGsbFebGtbGubGvbGwbGxbGyaaibFlaaibFmbGzbGAbGBbGCbFpbFpbFpbFpbFpbFpbFpbFpbFpbFpbGDaaibGEbGFbGGbGHaaibGIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaAKbGKbGLbGLbGLbGMbGNbGLbFxbFxbFxbFxbFxbGObGPbFxbFxbGObFxbFxbFzbGQbGRbDOaxUamZamZbCcamZamZamZbGSbCiaaqbwNaaqaaqbtJblWbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbHgbHhbHibHjbHkbHlbHmbHnbHmbHobHpbHqbkQbHrblWbHsbHtbHublWbHvaaqbHwbHxbHybHzbHAbBqbHBbHCbHDbHEbHFbHGbHHbHIbHJbHKbHLaaqbHMbHNbHObHPbHQbEJbHRbHSaaqbHTbDnbDnbDnbHUaaibHVbHWbHXbHYbHZbIabIbbIcaaibIdbIebIfaaqaaqbIgbGrbIhbIibIjbIkbIlbImbInbIoaaibIpaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibIrbFrbIsbItbIubIvbIwbIxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbIybIzbIybIAbIAbIAbIAbIBbICbIAbIAbIAbIAbIAbIAbIAbIDbIAbIAbIAbIAbIAbICbIEbIFbIAbIGbIHbIIbIJbIKbILbIMbINbIObIPbIQbIQaaqbtJbIRbISblWblWbvJbITbkQbHqbHpbIUbIVbIUbIWbIXbIXbIYbIZbJabIXbIXbJbbIXbJcbIXbHpbHqbkQbJdbJebJfbJgbJhbJiblWaaqbJjbHxbJkbJlbFSbBqbJmbJnbJobJpbJqbJrbJsbJtbBqbJubJvaaqaaqbJwbJxbJybJzbJAbJBbJCaaqbJDbJEbDnbJFbJGaaibHVbJHbJIbJJbJKbJLbJMbJNaaibJObJPbJQbJQaaqbJRbJSbJTbJUbJVbJWbInbJXbJYbJZaaibFlaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibKbbKcbKdbKdbKebKfbKgaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbKhbKibKhbDKbDLbKjbKkbKlbKmbKkbKnbKnbKobKnbKnbKkbKpbKnbKnbKkbKnbKnbKqbKrbKsbKtabObKubKvbKwbKxbKwbKybKzbKAbKBbKCbKDaaqbtJbKEbKFbKGbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbKRbKRbKSbKTbKTbKTbKTbKTbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdblWbLeaaqbLfbHxbHybLgbFSbBqbJmbJnbLhbLibLjbLkbLlbLmbzqbLnbLoaaqbLpbLqbLraaqbLsaaqbLtavVaaqbLubLvbLwbLxbLyaaibHVbLzbLAbHYbLBbLCbLDbLEaaibLFbJPbJQbJQaaqbLGbLHbLIacsbLJbLKbLLbLMbLNbLOaaibFlaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaibLPaaibFsaaiaaibFsaaiaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaZLbLQbFxbFzbFxbLRbLSbLTbLTbLTbLUbLTbLTbLTbLVbLTbLTbSnbLTbLTbLXbLYbLZbLTbMabMbbMcbMdbMebMdbMfbMgbMhbMibMjbMkaaqbMlaaqbMmaaqaaqbMnbMobMnaaqaaqaaqbMpezBbMraaqaaqbMsbHpbHpbMtaaqaaqaaqannbMuaaqaaqaaqbMvbMwaaqbMxaaqbMyannaaqbMzbMAbMBaaqbMCbBqbJmbMDaaibMEbMFbMGbMHaaibzibJubMIaaqbMJbMKbMLbMMbMNbMOabObMPbMQbMRbMSbMTbMUbMVaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibMWbMXbMYbMYaaqbMZbNabNbaaiaaiaaiaaiaaiaaiaaiaaibFlaaiaaaaEuaEuaEuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabezUezTezTezVaaqaaqaaiaaiaaiaaiezWaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbKhbKibKhbNibGLbGNbGLbNjbNkbNlbNmbNmbNnbNmbNmbNobNpbNmbNmbNqbNmbNmbNmbNmbNrbNsacdbNtbNubNvbNwbNvbNxbNybNzbNAbNBbKDaaqaaqaaqbNCacdbNDbNEbNFbNGbNHaaqbNIbNJbNKbNLbSoaaqbNNbNObNPaaqbNQbNRbNSbNTbNUbNVbNWbNXbNYbNZbOabObbOcbOdbOeacdbOfbOgbOhbOibOjbOkbOlbJnbOmbOnbTFbOpbOqbOrbzqbOsbOtbOubOvbOwbOwbOxbOybOzaaqbOAbOBbOCbODbOEbOFbOGaaibOHbOIbOJaaibOKbOLbOMbONaaibOObOPbOQbOQaaqbORbOSbGsaaibOTbOUbOVbOWbOWbOVbOWbOXaaiaaaaEubOYaEuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabcpWbPabPbbPaaaqaaiaaibPcbPdbPcbNgaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbPebPfbPebPgbPgbPhbPgbPgbPibPgbPgbPgbPjbPgbPgbPgbPkbPgbPgbPlbPgbPgbPgbPgbPgbPgbPmbPnbPobMibMibMibMibMibPpbPqbPrbPsbCianeaaqbPtaaqbPubPvbPvbPvbPuaaqbPwbPxbPxbPxbPybPzbPAbPBbPCacdbPDbPEbPFbPGbPHbPIaaqaaqbPJaaqbzEbPKbzEbPLbPMaaqbPNbHybJkbJlbPObPPbPQbPRacsbPSbXFbPUbPVaaibPWbPXbPYbPZbQabQbbQcbQdbQebQfaaqaaqaaqaaqaaqaaJaBcanjaaibQgbQhbQhbQibONbQjbQkbQlaaibQmbJPbQnbQnaaqbGqbQobGsaaiaaibQpaaiaaiaaiaaiaaiaaiaaiaaiaaibQqaaiaaiaaiaaiaaiaaiaaiaaiaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbQrbPabPabQsaaiaaibPcbPcbQtbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaDlbDKbDLbQubDLbQvbQwbQxbFxbFxbQybFxbFxbDLbQzbFxbFxbYObFxbFxbFxbFxbFxbDOaaqbQBbQCbQDbQEbQFbQGbQHbQIbQJbQKbQLbQMbCiaaqbPtaaqbPubPvbQNbPvbPuaaqcadbPxbQPbPxbPwaaqbQQbQRbQSaaqbQTbQUbQVbQWbQXbQYabObQZbRaabObRbbRcbRdbPLbReaaqbRfbHybHybRgbPObPPbRhbRibRjbOnbRkbRlcaTbRnbRobRpbRqaaqbRrbRsbRtbRubRvbRwaaqbRxbRybRzaaqbRAbRBbRCaaibQhbQhbQhbRDbONbREbONbRFaaibRGbJPbRHbRHaaqbRIbRJbGsaaibRKbRLbRMacsbRNbRObRPbRQbRRbRSbRTbRUbRVbTebRYbSabRZbThbSbaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaezXaaibQraaiaaibPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaiaaiaaqayAbSdayBbwNbSeaaqaaqayAbSfayBaaqaaqbSgaaqaaqaaqaaqbwNaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbShaaqaaqaaqbSibSjbSkbSlaaqbPubSmbPvbPvcbXaaqcmkbSpbPxbSqbSrabObSsbStbSuaaqaaqaaqaaqaaqbSvaaqaaqbSwbSxaaqaaqaaJaaqannaaqaaqbSybSzbSzaaqaaqbSAbSBbMwbSCbSDbSEbSFbSGbSHaaqbSIbSJaaqaaqaBcacdaOJaaqaaqaaqbSKbSLbSMaaqbSNbSObSPaaibQhbQhbQhbSQbONbQjbSRbSSacsbSTbSUbSVbSVacdbSWbSXbLIbSYbSZbTabTbbTcbTdbTebTebTfbTgbTebTmbTebTnbTibRXbTjbTkbTlbTpacaezGbTobVcazcaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibTqbTrbTrbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaibTsbTtbTubTvbTwbTxbTybTzaaibTAbTBbTCbTDbTEcodbTGbTHbTIbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTJbTHbTHbTHbTKbTLbTMbTNaaqbTObTPbTQbTRbTSabObTTbTUbTVbTWbTXaaqbTYbTZbUabUbbUcbUcbUcbUcbUdbUebUfbUgbUgbUhbUhbUibUjbPLaaqaaqbUkbUlbUmbUnbUobPPbUpbMwbUqbUrbUsbUtbJsbUubUsbUvbUwbUxbUybUzbUAbUBbUCbUDaaqbUEbUFbUGaaqbUHbUIbUJaaibUKbQhbQhaaibULbUMbUNaaiaaqbUObUPbIfaaqaaqbUQbQobURaaibUSbUTbUUaaibUVbRWbRWbUWbUXbUYbWxbRWbVabVbbRWbRWbWzcbhbWybYfbWAbZDbVdazyaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVebPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIaaaaaaaaibVfbVgbVgbVhbVgbVgbVibVjaaibVkbVlbVmbVlbVlcoeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbVoaaqaaqbVpaaqbVqbVrbVsbVtbVuaaqbVvbVwbVxbVybVzaMnbVAbVBbVCabOacaacaacaacaezCatNbySacdbVDacdacdbVEbOabVFbVGbVHbVIbVJbVKbVLbVMbVNbVObVPbVQbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbWdbWbbWeaaqbWfbWgbWfaaqbWhbWibWjaaibWkbQhbQhbWlbWmbWnbWobWpaaqaaqbWqaaqaaqbWrbWsbQobrzaaiaaibWtaaiaaibWubWvbWvbWwcctbRWccubWyccvbWybWybWyccwbRUbRWaaibWBbWCbWDaDgaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPcbPcbPcbPcbPcbPcbWEbPcbWFbPcbPcbPcbPcbPcaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWGbWHbWIbWHbWJaaaaaaaaaaaibWKbVgbVgbVhbVgbVgbVibWLaaibVkbWMbWNbWObWNcoeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibWPbWQbWRaaqbWSaaqbWTbWUbWVbWWbWXaaqbWYbWZbXabXbbXcaMobXdbXebXfaaiaaibXgbXhbXibXjbXkabnbXlbzEbXmaaqbXnbzEbzEbXoacdbXpbXqbVKbVLbXrbXsbXtbXubXvbXwbXxbXybXzbXwbXAbXBbXCbMCbXDbXEbXHbXGbWbbXIbXJbXKbXLbXMbXNbXObXPbXQaaibXRbXSbXTbXUbXVbXWbXXbXYbXZbYabYbbrzbYcbrzbWsbQobrzaaibOTbYdbYeaaiaaiaaqaaqaaqcdRbRWcdSbRWbRWbYgbYhbYibYjbYkbYlaaibYmbYobYnaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibYpbYpbYpbYpbYpbYpbYqbPcbYrbYpbWFbPcbPcbPcbPcaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYsbYtbYubYvbYsbcxanCaZLaaibYwbYxbVgbVhbVgbVgbVibYyaaibVkbYzbWNbWNbWNcoeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYAbYBbYCaaqbWSaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqbYDbYEbYFbYGbYHbYIbYJbYJbYKbYLabnbzEbzEbYMaaqbYNbzEbzEbzEcCwbYPbYQbVJbYRbUsbYSbYTbYUbYVbYWbJmbYVbYXbYYbYZaaqbZaaaqaaqaaqaaibZbcbbbZcbZdbZebZfbZgbZhbZibZjbZkaaibZlbZmbZmbZnbQhbZobZpbZqbZrbZsbZtbZubrzbZvbWsbQobZwaaibOTbZxbZybZzaaibZAbZBbZCbRWbRWbZEbRWbRWbZFbZGbZHbZIbZJbZKaaibZLezHbZMbZNaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZObPabPabPabPabPabPabPabZPbPdbPcbPcbPcbPcbZQbPdaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWIbZRbZSbZRbWIbZTbZUbZVaaibZWbVgbVgbZXbVgbZYbZZcaaaaicabbVlcacbWNbWNcCxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaibWSaaiaaaaaaaaaaaaaaicaecafcagcahcaicajaaqcakcalcamcancaocapcaqcaqcarcasabnaaiaaiaaiafacataaibzEbzEaaqcaucavcawcaxcaycazcaAcaBcaCcaDcaEcaFcaGcaHcaIanicaJcaKcaLcaMacscaNcaOcaPcaQcaRcaScaRaaqaaqecMcaUaaicaVcaWcaXcaYcaZcbaezAaaiaaiaaiabnaaiaaiaaicbccbdcbeaaibOTbZxcbfbZzaaicbgbRWbRWbRWbYgcbicbjcbkaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibTrbTrbTrbTrbTrbTrcblbPcbTqbTrcbmbPcbPcbPcbPcaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYsbZRbZRbZRcbncbocbpcbqcbrcbsbVgbVgbVgbVgbVgbVgcbtaaicbubVlcbvbWNbWNbVnaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbwaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaqbVpazcaaacbxcbycbzcbAcbBcajcbCcbDcbEcbFacdcbGcbHcbIcbJcbKbYJcbLcbMcbNcbOabncbPcbQcbRcbScbTaaibzEbzEaaqaaqaaqaaqaaJaaqcbUcbUcbVaaqaaqannaaqaNHcbWecPcbYcbZccaccbcccacaccdcceccfaaiccgcchcciaaqccjcckbPLaaiaaiaaiabncclaaiccmbyUaaiccnccoccpbzEccqaaiabnccraeZaaibOTbZxccsbOTaaicdUcdTcdVbYgccxccycbjcczaaiaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPcbPcbPcbPcbPcbPcbWEbPccbmbPcbPcbPcbPcbPcaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWIbZSbZSbZSbWIccAccBccCacaccDccEccFccFccFccFccEccGaaibVkccHccIbWNbWNbVnaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccJccKccKccKccLccMccNccOccPccQccRaaqccSbVpazyaaaccTccUccVccWccXcajccYccZcdacdbaaqcdcbXebStcancddbYJbYJbYJcdecdfcdgcdhcdicbPcdicdjaaibzEbzEaaqcdkcdlcdmcdncdocdpcdpcdqcdrcdscdtcducdvacdcdwaCacdxcdycdycdzaaicdAcdBcdCacacdDcdEcdFabOcdGcdHcdIcdJcdJcdJcdKcdLcdMcdNcdOcdMcdMcdMcdPcdMcdMcdQcdWcdYcdXcrnbOWcsDcrSbOTaaicdZceacebceccdZcedceecefaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVebPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYscegcehceibYsaGWanCaZLaaiaaiaaianBanCanCanDaaiaaiaaicejcekbWNbWNcelcemaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiavbcenceocepceqceqceraaqcesbWSazyaaaccTcetceucevcewcexceycezcewcewceAceBceCceDacsacsceEceFbYJceGceHceIcbPcbSceJcbQceKaaibzEbzEaaqceLceMceNceOcePceQceQceRceSceTceUceVceWaaqceXabtceYceZcfacfbaaicfccfdcfeaaicffcfgcfhaaqbzFcficfjcfjcfjcfjcfjcfjcfkcflcfmcfnacaacacfocfpacaacacfqcfrcfsabOcftcfucfvbOTaaicfwbRWbYgcfxcfycfxcfzcfAaaiaEuaEuaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibYrbYpbYpbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBbWHcfCbWHcfDcfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicfFaWhaQsaGXaaiaaiaaiaaaaaaaaaaaaaaaaaaaagaaaaaaaaacfGcfHcfIcfJcfKcfLcfMcfNcfOcfOcfPaaqbWRbVpazyaaaccTcfQcfRafacfScajcfTcfUcfVcfWaaqcdcbXebXfcfXaaicfYaaqcfZcgacgbcgccgdcbPcbPcgecgfaaibzEcggaaqceLcghcgicgjcgjcgjcgkcglcgjcgjcgmcgiceWaaicgnaaqcgocgpcgqcgraaicgscgtcguaaiaaqaaqaaqaaqcgvbzEcggaaiaaiaaiaaiaaianBanCanDaaiaaiaabaaaaaaaaaaaicgwcgxallaaiaaiaaicgyaamaaibUYcbjcgzcgAcgBcgCcgDcfycgEcgFaEuaaaaaaaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaaaaaaezXaaibQraaiaaibPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgGaDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfGcgHcgIcgJcgKcepcgLcepcgMcepcgNcgOcgPcgQaDgaaacgRcbycgScbAcgTcajcajcgUcgVcgWabOcgXcgYcgZchaaaibYJchbchcchdcheabnchfchgchhchichjaaibzEbzEaaqaaqaaJchkchlchmchnaaqchochpchqchrbMwaaJaaicgnaaqaaqaaqaaqaaqaaichschtchuaaibzEbzEbzEbzEbzEbzEbzEaaiaabaaaaaaaabaaaaabaaaaaaaaaaabaaaaaaaaaazcchvchwchxaaiaaichychzchAaaibUYchBchCchDchEchFchGbRWaaiaEuaEuaaachHchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchJchKchLchLchMaaiaaibPcbPcchNbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaaaaaaaachOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachPchPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfGchQchRchSchTchUchVchWchXchYchZaaqbWRciaaaiaaaaaaaaaaaaaaicibciccidciecifcigaaqcihbXebStciicijcikcilcikcikcikcimcinbYJbYJciocipaaibzEbzEaaqciqcirciscitciucivaaqciucivcitciwcixciyaaicizciAciAciAciBciCaaiaaiaaiaaiaaibzEaaiaaiaaianBanCanDaaiaabaaiaaiaaiaaiaaiaabaabaabciDaabaabaabazyciEciFciGaaiaaiciHciIciJaaiaaiaaiciKciLanCciLciMaaiaaiaaaaaaaaaciNaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabezYciPciQbQsaaqaaiaaibPcbPdbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciRbosbosbosbosbosbosbosbosbosbosbosbosciSaaiaaqaaqaaqaaqaaqaaqciTciUaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciVbXebStciWciXciYciZcjacjbcjccjdcjecjfcjgcjhcjiaaibzEbzEaaqcjjcjkciscitcitcjlaaqcjmcitcitciwciscjnaaqaaqaaqaaqaaqcjocgncjoaaibzEbzEbzEbzEaaiaabaabaaaaaaaaaaaaaabaaicjpcjqcjraaiaaaaaaaaaaabaaaaaaaaaaDgcjscjtcjuaaiaaicjvcjwcjxaaiaaaaaacjycjycjzcjycjyaaaaaaaaaaaaaaaciNaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabezZezTezTezVaaqaaqaaiaaiaaiaaiezWaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaachOaaaaaachOchOchOchOchOchOchOaaaaaachOaaachOaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBcjCcjDcjEcjEcjFcjEcjGcjHcjIcjJcjKcjLcjMcjNcjNcjOcjPcjQcjQcjQcjRcjScjTcjUcjVcjUcjUcjUcjTcjUcjUcjUcjWcjXcjYbXebStcjZckackbaeZaaicgcacsatRckcckdacsasScataaibzEbzEaaqckeckfckgckhcitckiaaqckjcitckkcklckgckmaaqbzEbzEbzEckncjocgncjocknbzEbzEbzEbzEaaiaabbcxaQsaQsaQsaQsaDlaaiciEciEckobxkacaacaacaacaacaacaaqqcaQaaickpaeZcaQckqaTackrbcxaGXaaackscktckuckvckucktcksaaachHchIchIckwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBckxckyckzckyckAckyckxckyckBckzckyckCckDbSuckDckDckEbSubSubSubSuckFckDckDckDckDckDckDckDckDckDckDckGckHckIckJckKckLckMckNckOaaickPckQckRckSckTckUckVckWacacfjckXabOckYckZclaclbcitclcaaqclccitclbcldciscleaaiclfacaacaclgclhcgnclicaQckqanCanCaZLaaiaaaazycljclkclkclkcllclmciEciEciEclncloclpciEcloclqclrbAYaqqclscltcluaaiaabazyclvazyaabaaacksclwclxclyclxclwcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBckyckyclzclAclBclAclCclDclEclFclGclHckHclIclJclJclKabOclLabOclMclNclMclMclMclMclMclMclMclMclMclMclOckDclPclQclRclSclTclUclVclWclXclYceFclZcmacmbcmccmdacsbOacmeaOJcmfcitciscitcitcmgacdcmhcitcitciwciscmiaaqcmjaaiaaaaeZaaiecQaaiaaiaaaaaaaaaaabaabaaaazyciEcmlcmmcmmcmncmocmpcmpcmqcmracsatRacsacsacscmsaaiaeZcmtcmucmvaaiaabaDgcmwaDgaabaaackscmxcmycmzcmAcmxcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicmBaaqaaqcmCaaqcmDaaqaaqcmEanDaaqaaqanBanCanDaaqaaqaaqaaqcmFcmGcmHcmIcmJcmKcmLcaqcmMcaqcaqcmNcaqcmOcmPcmQcmRcmScmTbzEcmjanncmUcmVcmWcmXcmYcmZaaqcnacmYcnbciwcnccndaaicmjaaiaaaaeZcnecnfcngaaiaaaaaaaaaaaaaabaabazyciEcnhcnicnicnjcnkciEciEcnlaeZcnmcnncnocnpcnqcnrcnsaaJcntcnucnvacscnwaaacnxaaaaaaaaackscnycnzcnzcnzcnAcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaeJaeJaeKaeKaeJaeKaeKaeKafiaeKaeKaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazccnBcnCcnDcnEcnFcnGcnHcnIcnJcnKcnLcnMcnKcnNcnOcnPcnPcnQaaqcnRcnScnTcnUbStcnVcnWcnXbYKbYJcbLbYJchbcnYcnZcoacobcocaaiaaicmjannaaiaaiecRaaiaaiabnbxkacaacaacaecSacabAYacacofaaiaaacogcohcoicojazcaaaaaaaaaaaaaaaaabazycokcolcolcolcolcolcomcloezIbyUcoocopcoocoqcorcoscotbLtcoucovaaJaaiaaiaaacowaaaaabaaackscksckscoxcksckscksaaaciNaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazycnBcoycozcoAcoBcoCcoCcoCcoCcoDcoEcoFcnPcoGcnPcnPcoHcnPcoIbSucoJcoKcnUbStcoLaaqcoMbYKcoNecTcoPbYKcoQcoRcoScoTcoUcoVcoWcoXcoYcoZcoZcpabQZcfjcpbcpcbzEcpdbOacpebzEbzEbUjbzEaaiaaacpfcohcoicojazyaaaaaaaaaaaaaabaabaGWaQsaQsaQsaQsaQsaQsaQsaQsaDlaaicoocoocoocpgcphcpicpjcpkcplcpmcpncpoaaiaaacowaabaabaaaaaaaaaaeJaaaaeJaaaaaaaaaciNaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaacppcpqcpraaacppcpqcpraaacppcpqcpraabcpsaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazycnBcoycptcnPcoHcpucnPcnPcnPcnPcnPcptcptcnPcnPcnPcnPcpvcpwbSucpxckDcpycpzaaqaaqcpAbYKcpBcpCcpDbYKcpEckTcpFcpGcpHcpIcpJcpdbVFcpKcpKcmebOabOabVFcpLbOaabuanBanCanCanCanDaaiaaiaaacpMcohcoicojaDgaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaiaaqaaqaaqaaqcpNciEcpOcpPcpQcpRcpScpTaaiaaacowaaaaabaabaaaaaaaeJaeJaeJaaaaaaaaaciNaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeJaaacppcpVcpraaacppcpVcpraaacppcpVcpraabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabazycnBcpWcptcpXcnPcpYcpZcqacqacoGcnPcptcqbcnPcnPcnPcnPcqccqdcjXcqebQRcqfcqgcqhcqicqjbYKcpBcoOcqkbYKcqlckTaaiatQacscqmcqnabuaaiabnabnaeZaaiaaiaaiaeZaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaeZcqocqpcqqaaiaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaicnmcnncnocqrcqscpicqtcqucqvcqwciEcqxaaiaaacqycqzcqzcqzcqzcqzcqzcqzcqzcqzcqzcqzcqAaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaagaaaaaaaaaaeKaabcppcpVcpraaacppcpVcpraabcppcpVcpraabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaDgcnBaaqcqBcnPcqCcqDcqEcqFcqGcqFcqHcqFcqIcqJcnKcqKcptcptcpwcqLcqMcqNcqOcqPcqQcqRcqScqTcqUcqVcqWcqXcqYckTcqZcracrbcrccrdcrecrfcrgcrhcricrjcrkcrlcrmcsRaabaaaaaaaaaaaaaaaaaaaaaaaaaeZaaicroaaicaQaaaaabaabaaaaaaaaaaaaaaianBanCanDaaiaabaabaaaaaaaaicoocoocoocrpcorciEcrqcrrcrscrtciEcruaaiaaiaaiaaiaaaaaacrvcrvcrvcrwaabaabaabaabcrxaabaabaabaabaabaficrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaabaaacppcpVcpraabcppcpVcpraaacppcpVcpraaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicryaaqcrzcrAcrAcrBaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrCaaqaaJaaqaaicrDcrEcrFcrGcrHcrIcrJcrKckTcrLcracrbcrmcrdcrMcrNcrOcrPcmRcrQcmRcrRcoSctSaabcrTcrTcrTcrTcrTaaaaaaaaaaeZcrUcrVcrWaaiaaiaaicrXanBanCanCanDaaicrYcrZcsaaaiaaiaaicaQaaaaaicoocoocoocqrcsbcpicsccsdcsecsfclrclrcsgcshcsiaaiaaaaaacrvaaaaabaaaaabaaaaaaaaacsjaaaaabaabaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaeJaeKaabaaacppcpVcpraabcppcpVcpraaacppcpVcpraabaaaaaaaaaaaaaaaaaaaaaaaaaabcskaaiaaiaaiaaiaaiaaicnBaaqcslcsmcsmcsnabOcsocspcspcspcspcspcspcsqcspcspcsrcsrcspcsscstcsucsvaaicswcsxcsycszcsAcsBbYJcsCcvqcsEcsFcsGcsHcsIcsJcrNcsKcsLcsMcsNcsOcsPcsQcwwcsScsTcsUcsVcsWcrTaaaaaaaaaaeZcsXcsYcsZaaqctactbctcctdctectfctgaaicthcsYctiacactjctkaaiaaaaaiaaqaaqaaqaaqctlciEcrqctmctnctociEciEctpciEctqaaiaaaaaacrvaaactrctrctrctrctraabctsaabctrctrctrctrctraaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaaaaabaaaaabaabcttaabaabaabcttaabaaaaabcttaabaaaaaaaaaaaaaaaaaaaaaaaactuctvctwctxctyctzctActBctCctDaaqaaqctEctFaaqaaqbWSaaiaaiaaiaaiaaiaaiaeZaaiaaiaaiaaiaaiabnaeZaaiaaiccWctGcsxctHbYJbYJbYJbYJctIckTctJctKcmRctLctMcsJctNcsKcsLctOctPctPctQctRcxGaabctTctUcsWctVcrTaaaaaaaaaccmctWcsYctXaaqctYctZcuacubcuccubcubayAayBcudcueacscufcugaaiaaaaaicnmcnncnocuhcqscpicuicujcukculculcumcuncuocupaaiaabaabcrvaabcuqcurcurcurcurcuscutcuucuvcuvcuvcuvcuwaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaaaaachOchOchOchOchOchOchOchOchOaaaaaachOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeKaabcuxcuycuycuzcuAcuBcuBcuBcuAcuBcuBcuBcuAcuBcuBcuCcuycuycuycuycuycuDcuEcuFcuGcuHcuIcuJcuKcuLbWRcnBcuMaaqaaqaaqaaqbWRbWSaaicuNcuOcuPcuQcuRcuScuTcuUcuVcuWcuXcuYcuZcvacvbbxactGcvcctHbYJbYJbYJbYJcvdckTcvecvfcmRcmScvgcvhcvicvjcvkcvlcvmcvncvocvpcyrcvrcsTcvscsWcsWcrTaaaaaaaaaaeZaaqcvtaaqaaqcvucvvcvwcvxcvxcvycvxcvzcvAcvBcvCcvDcvEcvFaaiaaaaaicoocopcoocvGcorciEciFcujcvHcvIciEcvJaaqaaqaaqaaiaaaaaacrvaabcvKcvKcvKcvKcvKaaactsaaacvKcvKcvKcvKcvKaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaaaaabaaaaabaabcvLaabaaaaabcvLaabaaaaabcvLaabaaaaaaaaaaaaaaaaaaaaaaaactuctvcvMcvNcvOcvPaaicvQbWRcvRctCctCctCctCctCctCcvSaaicvTcvUcvVcvWcvXcvYcvZcvWcwacwbcwccwdcwecwfcwgcwhcwicqjctHcwjcwkbYJbYJcwlckTcwmcwncmRcmScvgcwocwpcwqcwrcwscwtcwucwvcwuczKaabcrTcrTcrTcrTcrTaaaaaaaaaaeZcwxcwycwzcwAcwBcwCcvEcwDcubcwEcubcubcwFcwBcwGcwHaeZcwIaaiaaaaaicoocoocoocuhcwJcwKcwLcwMcwNciEciEcwOciEcwPcwQazcaaaaaacrvaaaaabaaaaabaabaabaaactsaaaaabaaaaabaaaaabaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaeJaeKaabaabcppcwRcpraaacppcwRcpraaacppcwRcpraabaaaaaaaaaaaaaaaaaaaaaaabaabcwSaaiaaiaaiaaiaaicwTcwUbWRcwVbWRbWRbWRcwWbVpaaicwXcvVcvVcvWcwYcwZcxacxbcxccxdcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcxscxtcxucxvcxwcxxcxycxzcxAcxBcxCcxDcsMcxEcxFcAMcsScsTcxHcxIcxIcrTaaaaaaaaaaeZcxJcxKcxLcaQcxMcsYcuacubcubcsYcubcubcxNayBcxObgEaeZaaiaaiaaacaQaaibombosboscxPcxQcxRcxScxTcxUcxVcxWcxXcpicxYaDgaaaaaacrvaaactrctrctrctrctraabctsaabctrctrctrctrctraabcrvaaaaaaaaaaaaaaaaaaaaacxZaaaaaaaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaacppcwRcpraabcppcwRcpraaacppcwRcpraaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicyaboscybcvVcvVcvWcyccydcyecyfcygaaicyhcyicyjcykcylaaicymbYJctHcyncyocypbYJcyqcGkcoScyscytcyucyvcywcyxcyycyzcyAcmRcyBcyCcyDcxGaabcyEcyFcyGcyHcrTaaaaaaaaaaeZcyIcyJcyKacscyLcugcyMcubcrYcugcubcubcyNcyOcwCcubaeZaaaaaaaaaaaaaaacyPaaaaaicyQcyRcyScyTcyUcyVcyWcyXcyUcyVcyYaaiaabaabcrvaabcuqcurcurcurcurcuscutcuucuvcuvcuvcuvcyZaabcrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaabcppcwRcpraaacppcwRcpraaacppcwRcpraabaaaaaaaaaaaaaaaaaaaaaaabaabaaiczaczbczbczcczbczbczbczdczeczfczbczgczhcziczjczkczkczkczlczmcznczoczpcvVaaiczqczrczscztczubosamZczvciSczwczxczyaaiaaiczzczAczBczCcmScvgczDczEczFczGczHcmRcyBczIczJcGXcvrcsTczLcxIcxIcrTaabaaaaaaaeZczMczNczOaaiczPczQczRczSczTczUcubczVczWcubczXczYaeZaaaaaaaaaaaaaaaczZaabaaicAacAbcAcaaqcAdcAecAfaaqcAgcAhcAiaaiaaaaaacrvaabcvKcvKcvKcvKcvKaaactsaabcvKcvKcvKcvKcvKaaacrvaaacxZaaacxZaaaaaacxZcxZcxZcxZcxZcxZcxZaaaaaacxZaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaabcppcwRcpraaacppcwRcpraabcppcwRcpraabaabaabaaaaaaaaaaaaaabaabaaaaaicAjcAkcAlaaicAmcAncAocAocAocApcAocAocAocAqacscArcAscAtcAucAucAvcAwcAucAucAucAxcAycvVcvVcvVcAzcAAcABaaqcACcADcAEcAFaaiaaiaaiaaicAGcmScvgcsKcAHcAIcAJcAKcmRcyBcyCcALcGYcANcrTcrTcrTcrTcrTaaaaaaaaacAOcAPcAQcARacaacaacabAYacacAPcAQcAQcARauccAPcAScARcATaabaabaabaaaaaaaaaaaaaaicAUcoocooaaqcAVcoocooaaqcAVcoocooaaiaaaaaacrwaaaaabaaaaabaaaaabaaacAWaaaaabaaaaabaabaabaabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaafiaabcppcAXcpraaacppcAXcpraaacppcAXcpraabaeKaabaabaaaaaaaaaaabaaaaaaaaicAYcAkcAZaaiaaicBaaaiaaiaaicBbaaiaaiaaiaaiaaiaaiaaiaaicBccBdcBecBfczmczmczmcBgcBhcBicBjczmczmcBhcBkcBlcBmcADcBncBoaaicBpcBqacscBrcBscBtcBucBvczFcwncBwcBxcBycBzcBAcAMcBBcsTcBCcBDcBEcrTaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaabaaaaaacBFaaccBGcnwaaaaaaaaaaaaaaaaaaaaaaaaaaicBHcoocooaaqcBIcoocooaaqcBIcoocooaaiaaaaaacrvaaactrctrctrctrctraabcrxaabctrctrctrctrctraabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaaeKaabaabaaaaaaaaaaaaaaaaaaaaicBJcAkcAZaaicBKcBLcBMaaicBNcBOcBPcBQaaicBRcBScBTcBUaaicBVcvVcBWcvWcvVcvVcBXcBYcBZcCacCbcCccCdcCeafacCfcBmcADcCgcChaaiaaicCiaaicCjcCkcmRcBucBvcClcwncBwcBxcyBcyCcCmcxGcCnctTcCocCpcCqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicoocoocooaaqcCrcoocooaaqcCrcoocooaaiaabaabcrvaabcuqcurcurcurcurcqzcCscqzcuvcuvcuvcuvcyZaabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeJaeJaeKaeJaeJafiaeKaeKaeKaeKaeJaeKaeKaeJcCtaabaaaaaaaaaaaaaaaaaaaaaaaicAmcCucCvczccAZecWecUaaicCycCzcCAaaiaaicCBcCBcCCcCCcCDcvWcvVcBWcvWcvVcCEcCFacscCGcCHcCIcCJcCKatRcCLcBWcvWcCMcCNaaqcCOaaiabnaaicCPcCQcmRcBucBvczFcwncCRcBxcyBcCScCTcGXcCUcsTcCVcBDcBDcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaQaaiaaiaaiaaiaaiaaiaaiaaicCWcCWcCWcaQaaaaaacrvaabcvKcvKcvKcvKcvKaaacrxaaacvKcvKcvKcvKcvKaaacrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYaaiaaiaaiaaiaaiaaicCXaaiaaiaaiaaiaaiaaicBYaaicCYcCYcCCcCCcCDcCZcDacDbcDccDdcDecDecDfcDgcDhcDicDjcDkcDfcDlcDmcDncvVcvVcvVcDocDpcCiaaicDqcDrcmRcBucmRcDscmRcDtcBxcyBcyCcDucxGcCncrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDvcDvaaaaaaaaacrvaaaaaaaabaabaabaaaaaacrxaabaaaaaaaabaabaaaaaacrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicDwcDxcDycDzcDAcDBcDCcDDcDEcDFcDGcDHcDHaaiaaicDIcDJcCCcDKaaicDLcDMcDNcDOcDPcDQcDRaaicDScDTcDUcvVcDVaaicDWcDXcDYcDZcEacEbcEcaaicCiaaicEdcEecmRcBucmRcsKcAHcEfcEgcBycEhcEicAMcEjcsTcEkcElcElcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvaaaaaaaaacrxaaaaaaaaacrvcrvcrvcrwcrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaicEmcEncEocEpcEpcEqcErcEscEtcEtcEucEvcEwaaiaaicExcExcEycDKaaicEzcEAaaicEBcECcECcECaaicEDcEEcEFcEGcDoaaicECcECcECcEBaaicEHcEIaaicCiaaicEJcEKcELcEMcENcvjcEOcEPcsMcvlcyCcEQcxGcCncyEcERcEScETcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabcEUaabcrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVaaaaaaaaacEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicEWcEXcEYcEZcEZcDCcDGcDGcEZcEZcEZcEvcFaaaiaaicExcExcDKcDKaaicFbcFcaaicFdcFecFfcFgaEQcFhcFicFjcFkcDoaEQcFecFecFecFlcFmcFncFoaaicCicFpcFqcFrcFscEOcoScFtcoTcFucFvcrlcFwcFxcGXcCUcsTcFycElcElcrTaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaabaaacrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicFzcEXcDGcDGcDGcFAcDGcDGcDGcDGcFBcFCcFaaaiaaiaaiaaiaaiaaiaaicBpcFDaaiaaickqanCcFEcFFcFGcDOcFHcDOcFIcFJcFEanCaGXaaiaaicFKcFLaaicCiaaicFMcFNcFscFOcmRcmRcmRcrRcyxcFOcyCcFPcxGcCncrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaacrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVaaacEVaaaaaacEVcEVcEVcEVcEVcEVcEVaaaaaacEVaaacEVaaaaaaaaaaaaaaaaaaaaaaaicDGcEmcFRcFRcFScFTcFUcDGcDGcDGcEvcFVcFWaaiaaaaabaaaaabaacaaiaaicFXaaicFYcFZcFZaGWaDkanCanCanCanCanCaDkaAKcFZcFZcGaaaicGbaaiaaicCiaaicGccGdcGecGfcGgcGhcGgcGfcGicGfcGjcEOcGZcCnaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGlcGmcGncGocGpcGqcGrcGscGscGncGtcGucGvaaiaaaaaaaaaaaaaabaaicGwcGxcGycGzaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaacGAcGBcGCcGDaaicGEacscGFcGGcGHcGIcGJcGKcGLcGMcmRcGNcGOcGPcHacCnaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGQcGRcDGcGSckqanCanCanCanDcGTcGUcDGcGQaaiaaaaaaaaaaaaaaaaaicGVcGWcGWaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaacGWcGWcGVaaicBpaaicHbeztcHcezvezuezxezwezvezwezyezwezyezzcCnaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaacxZaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGQcHdcFRcHecHfcHgcHhcHicHjcHkcHlcHmcHnaaiaaaaaaaaaaaaaaaaaicHocHpcGWaabaabaabcHqaaaaaaaaaaaacHqaaaaaacHqaabaabaabcGWcHrcHsaaicBpaaiaabcHtaabcHucHvcHwcHxcHycHxcHzcHxcHzcHAcHBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicHCcHDcHEcGSayEcGTcHFcHGayEcGTcHHcHDcHIaaiaaaaaaaaaaaaaaaaaicHJcGWcHKaaaaaaaabaaaaaaaaaaaaaaacHLaaaaaaaaaaabaaaaaacGWcGWcHJaaicBpaaicrTcHMctTcHMcrTcHMctTcHMcrTcHNctTcHOcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicHPcDGcHQcHRaDgcHScHTcHUaDgcGTcHQcDGcDGaaiaaaaaaaaaaaaaaaaaicHVcHWcGWaaaaaaaabaaaaaaaabaabaabaabaabaaaaaaaabaaaaaacGWcHXcHYaaicBpaaicrTcHZcIacIbcrTcIccIdcIecrTcIfcIgcIhcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaicIiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaabaaiaaicGVcGWaaaaaaaabcHqaabaabaacaacaacaabcIjaaaaabaaaaaacGWcGVaaiaaicBpaaicrTcIkcIlcIkcrTcImcIncImcrTcIocIpcIqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaicIraaiaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaiaaicIscGWaaaaaaaabaaaaaaaabcItcIuaacaabaaaaaaaabaaaaaacGWcIvaaiaaicBpaaicrTcIkcIwcIkcrTcImcIxcImcrTcIqcIycIqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicIiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaicGVcGWaaaaaaaabaaacIzaabaacaacaacaabaabcHqaabaaaaaacGWcGVaaiaaicBpaaicrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicHXcHYcGWaaaaaaaabaaaaaaaabaabaabaabaabaaaaaaaabaaaaaacGWcHVcHWaaicBpaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaicHJcGWcIBaaaaaacICaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacGWcGWcHJaaicIDaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicIFcIGcGWaabaabaabcHqaaaaaacHqaaaaaaaaaaaacHqaabcIHaabcGWcIIcIJaaicIKaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaacEVaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaacEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicILcIMcGaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaacFYcIMcINaaicBpcIOcIPcIPcIQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYaaiccWcGAcGaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaacFYcGzccWaaiaaicIRcIScITcIUcIVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaiaaicGAcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcGzaaiaaiaabcBYcIWcIXcIPcIPcIYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
-(1,1,2) = {"
-cJacJbcJccJdcJecJfcJgcJhcJacJicJjcJkcJlcJmcJncJocJgcJfcJjcJccJdcJhcJkcJecJmcJicJocJpcJqcJrcJscJtcJucJvcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJKcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJLcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJNcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJQ
-cJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJtcJucJvcKgcKhcKicKjcJAcKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJJcJLcJMcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcKqcKpcKpcKrcKscKtcKscKtcKscKrcKucKvcKvcKvcKvcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKzcKAcKAcKAcKBcKC
-cJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJqcJrcJscJtcJucJvcKgcJxcKicKjcKncKkcKlcKmcJpcJqcJrcJrcJscJtcJucKgcKhcKicKjcKncKkcKlcKmcJpcJqcJGcJLcJMcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKDcKpcKpcKEcKrcKFcKGcKFcKGcKFcKrcKHcKHcKHcKHcKHcKrcKwcKIcKwcKIcKwcKrcKxcKxcKxcKxcKxcKrcKycKJcKycKJcKycKrcKKcKLcKLcKLcKMcKC
-cJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcKgcKhcKicKjcKncKkcKlcJDcJpcJqcJrcJscJtcJucJvcKgcKhcJvcKgcKhcKicKlcKmcJpcJqcJrcJscJtcJucJvcKgcJxcJLcJMcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKNcKpcKpcKpcKrcKOcKPcKOcKPcKOcKrcKHcKHcKHcKHcKHcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC
-cJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcKlcKmcJpcJqcJrcJscJtcJJcJvcKgcKhcKicKjcKncKkcKlcKmcJscJtcJucJvcJtcJucJvcKgcKhcKicKjcKncKkcKlcJDcJLcJMcJWcKecJRcJScJYcKQcKRcKScKTcKUcKVcKWcKXcKYcKZcKQcJYcKccKecJRcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcLacLbcKpcKrcLccLccLccLccLccKrcLdcLdcLdcLdcLecKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC
-cJocJScKbcJUcJZcKacKecJVcKccJYcKfcLfcLgcLhcLfcLfcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccKgcKhcKicKjcKncKkcKlcJDcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcJxcJLcJMcJScKbcJUcJZcKacLicLjcLjcLjcLjcLjcLjcLjcLjcLjcLicKacKfcKbcJUcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocLkcKpcKpcKpcKpcKrcLlcLmcLncLmcLocKrcLpcLqcLrcLscLpcKrcKwcKwcKIcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC
-cJbcJZcJYcJXcJVcKdcKbcKecKfcKacLtcLgcLucLvcLwcLxcLfcKdcJRcJYcJXcKecKccJVcJUcKacJicJrcJscJtcJucJvcKgcKhcJycKjcKncKkcKlcKmcJpcJqcJrcJscJpcJqcJrcJscKhcKicKjcKncKkcKlcKmcJpcJqcJrcJHcJLcJMcJZcJYcJXcJVcKdcKTcLjcLjcLjcLjcLjcLjcLjcLjcLjcKTcKdcJRcJYcJXcKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcLkcKpcKpcLzcKrcLAcLmcLncLmcLBcKrcLpcLCcLDcLEcLpcKrcKwcKwcKIcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC
-cJecJVcKacJWcKecJTcJYcKbcJRcKVcLHcLucLvcLwcLIcLIcLJcKYcJUcKacJWcKbcKfcKecJXcKdcJfcKncKkcKlcKmcJpcJqcJrcJHcJtcJucJvcKgcKhcKicKjcKncLKcLLcLMcLNcLOcLPcJscJtcJucJvcKgcKhcKicKjcKncJBcJLcJMcJVcKacJWcKecJTcLJcLjcLjcLjcLjcLjcLjcLjcLjcLjcLJcJTcJUcKacJWcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLQcLRcLScLycLRcLTcLycLRcLUcLycLVcLWcLycLRcLTcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKDcLkcKpcLacKrcLccLccLccLccLccKrcLXcLCcLDcLEcLXcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC
-cJhcKecKdcJScKbcKccKacJYaaacKScLYcLYcLZcMacLucMbcMbcKYcJXcKdcJScJYcJRcKbcJWcJTcJncKmcJpcJqcJrcJscJtcJucJKcKgcKhcKicKjcKncKkcKlcKmcLMcMccMdcMecMfcMgcJvcKgcKhcKicKjcKncKkcKlcKmcJEcJLcJMcKecKdcJScKbcKccKYcLjcLjcLjcLjcLjcLjcLjcLjcLjcKYcKccJXcKdcJScJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycMhcMicLycMhcLWcLycMhcMjcLycMhcLTcLycMhcLScLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcKpcLkcKpcKrcMkcMlcMkcMlcMkcKrcMmcLCcLDcLEcMmcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC
-cJgcKbcJTcJZcJYcKfcKdcKaaaacMncLZcLZcMocMpcMqcLvcLvcMrcJWcJTcJZcKacJUcJYcJScKccJkcKicKjcKncKkcKlcKmcJpcJFcJrcJscJtcJucJvcKgcKhcKicMscMtcMucMvcMccMwcJqcJrcJscJtcJucJvcKgcKhcKicJzcJLcJMcKbcJTcJZcJYcKfcKVcLjcLjcLjcLjcLjcLjcLjcLjcLjcKUcKecJWcJTcJZcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcMxcKpcKpcLkcKrcKFcKGcKFcKGcKFcKrcMmcLCcLDcLEcMmcKrcKwcKIcKwcKIcKwcKrcKxcKxcKxcKxcKxcKrcKycKJcKycKJcKycKrcLFcKLcKLcKLcLGcKC
-cJccJYcKccJVcKacJRcJTcKdcMycLIcMbcMbcMzcLwcMocLZcLZcMbcMAcKccJVcKdcJXcKacJZcKfcJacJscJtcJucJvcKgcKhcKicJzcKncKkcKlcKmcJpcJqcJrcJscLLcMucMvcMccMdcMBcKjcKncKkcKlcKmcJpcJqcJrcJscJIcJLcJMcJYcKccJVcKacJRcKScLjcLjcLjcLjcLjcLjcLjcLjcLjcKXcKbcJScKccJVcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLRcMicLycMCcLScLycLRcLScLycMDcLTcLycLRcLWcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocLacKpcMEcKpcKDcKrcKscKtcKscKtcKscKrcMFcMGcMHcMIcMFcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcMJcMKcMKcMKcMLcKC
-cJicKacKfcKecKdcJUcMycMycMMcLucMNcMNcMOcMacMzcLZcLZcMbcMAcMAcKRcJTcJWcKdcJVcJRcJjcKhcKicKjcKncKkcKlcKmcJEcJqcJrcJscJtcJucJvcKgcKhcMPcMQcMRcMScLLcMRcJpcJqcJrcJscJtcJucJvcKgcKhcJycJLcJMcKacKfcKecKdcJUcKUcLjcLjcLjcLjcLjcLjcLjcLjcLjcLtcJYcJZcKfcKecJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycMhcLScLycMhcLTcLycMhcLTcLycMhcMTcLycMhcMUcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMVcMWcMWcMWcMWcMWcMXcMWcMWcMWcMWcMWcMXcMWcMWcMWcMWcMWcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMZ
-cJfcKdcJRcKbcJTcJXcKRcMbcLYcNacMbcLYcNacLvcMOcLvcMOcMNcMpcMocKQcKccJScJTcKecJUcJmcJqcJrcJscJtcJucJvcKgcJxcKicKjcKncKkcKlcKmcJpcJqcJucJscJtcJucJvcKjcKhcKicKjcKncKkcKlcKmcJpcJqcJGcJLcJMcKdcJRcKbcJTcJXcKXcLjcLjcLjcLjcLjcLjcLjcLjcLjcKWcKacJVcJRcKbcKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNecKrcNfcNfcNfcNfcNfcKrcNgcNgcNhcNicNicKrcNjcNjcNjcNjcNjcKrcNkcNlcNlcNlcNmcKrcNncNocNocNocNpcKC
-cJncJTcJUcJYcKccJWcKQcMNcMpcMqcMNcMpcMqcLZcLIcLZcLIcNacLwcMzcLicKfcJZcKccKbcJXcJdcJucJvcKgcKhcKicKjcKncJBcKlcKmcJpcJqcJrcJscJtcJucJrcKicKjcKncKkcKgcKkcKlcKmcJpcJqcJrcJscJtcJucJKcJLcJMcJTcJUcJYcKccJWcLtcLjcLjcLjcLjcLjcLjcLjcLjcLjcKZcKdcKecJUcJYcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcNecNqcNecNecNecKrcNfcNrcNscNtcNfcKrcNucNucNvcNwcNwcKrcNjcNxcNjcNycNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC
-cJkcKccJXcKacKfcJScLicNacLwcMocNacLwcMocMbcLucMbcLucMqcMacMOcKTcJRcJVcKfcJYcJWcJlcKjcKncKkcKlcKmcJpcJqcJGcJscJtcJucJvcKgcKhcKicKjcMQcLKcNFcMPcNGcLNcJrcJscJtcJucJvcKgcKhcKicKjcJAcJLcJMcKccJXcKacKfcJScKWcLjcLjcLjcLjcLjcLjcLjcLjcLjcMncJTcKbcJXcKacJRcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecNecNecNHcNecKrcNfcNIcNIcNIcNfcKrcNucNJcNJcNJcNwcKrcNjcNjcNjcNjcNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC
-cJacKfcJWcKdcJRcJZcKTcMqcMacMzcMqcMacMzcMNcLYcMNcLYcMocLvcLIcLJcJUcKecJRcKacJScJocKkcKlcKmcJpcJqcJrcJscJIcJucJvcKgcKhcKicKjcKncKkcLNcNKcNLcNMcNNcNOcJtcJucJvcKgcKhcKicKjcKncKkcJCcJLcJMcKfcJWcKdcJRcJZcKZcLjcLjcLjcLjcLjcLjcLjcLjcLjcMycKccJYcJWcKdcJUcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcNPcNPcNQcNQcNRcNScNScNTcNQcNQcNQcNQcNQcNQcNQcNQcNQcNUcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNecKrcNfcNfcNfcNfcNfcKrcNucNvcNvcNvcNwcKrcNjcNjcNjcNjcNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC
-cJjcJRcJScJTcJUcJVcLJcMocLvcMOcMocLvcMOcNacMpcNacMpcMzcLZcLucKYcJXcKbcJUcKdcJZcJbcJvcKgcKhcKicKjcKncKkcJCcKmcJpcJqcJrcJscJtcJucJvcNVcNWcNXcNYcNZcOacKlcKmcJpcJqcJrcJscJtcJucJvcJwcJLcJMcJRcJScJTcJUcJVcMncLjcLjcLjcLjcLjcLjcLjcLjcLjcKRcKfcKacJScJTcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacObcOccOdcOccNPcNQcOecOfcOgcOhcOhcOicOjcOkcOlcOmcOncOocOpcOocOocOocOqcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcNecNecNecOrcNecKrcNfcOscOtcOucNfcKrcOvcOwcOwcOwcOxcKrcNjcOycNjcNjcNjcKrcOzcOAcOAcOAcOBcKrcNCcNDcNDcNDcNEcKC
-cJmcJUcJZcKccJXcKecKYcMzcLZcLIcMzcLZcLIcMqcLwcMqcLwcMOcMbcLYcKVcJWcJYcJXcJTcJVcJecKncKkcKlcKmcJpcJqcJrcJHcJtcJucJvcKgcKhcKicKjcKncMRcOCcODcOEcNWcOFcJscJtcJucJvcKgcKhcKicKjcKncJBcJLcJMcJUcJZcKccJXcKecMycLjcLjcLjcLjcLjcLjcLjcLjcLjcKQcJRcKdcJZcKccJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcOccOccOccNPcNQcOecOfcOfcOfcOfcOfcOGcOHcOHcOHcOIcOocOocOocOJcOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecOKcNecNecNecKrcNfcOLcOMcONcNfcKrcOOcOPcOPcOPcOQcKrcNjcNjcNjcORcNjcKrcOScOTcOTcOTcOUcKrcOVcNDcNDcNDcOWcKC
-cJdcJXcJVcKfcJWcKbcKVcMOcMbcLucMOcMbcLucMocMacMocMacLIcMNcMpcKScJScKacJWcKccKecJhcJrcJscJtcJucJvcKgcKhcJycKjcKncKkcKlcKmcJpcJqcJrcLOcNVcOXcLKcNFcMPcKicKjcKncKkcKlcKmcJpcJqcJrcJHcJLcJMcJXcJVcKfcJWcKbcKRcLjcLjcLjcLjcLjcLjcLjcLjcLjcLicJUcJTcJVcKfcJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOYcOZcPacOccOccOccNPcNQcPbcOfcPccPbcPdcPecPfcOHcOHcOHcOHcOocOocPgcOocPhcOpcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNqcKrcNfcOLcOMcONcNfcKrcPicNvcPjcNvcPkcKrcNjcNjcNjcNjcNjcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC
-cJlcJWcKecJRcJScJYcKScLIcMNcLYcLIcMNcLYcMzcLvcMzcLvcLucNacLwcKUcJZcKdcJScKfcKbcJgcKicKjcKncKkcKlcKmcJpcJFcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicJzcJLcJMcJWcKecJRcJScJYcKQcLjcLjcLjcLjcLjcLjcLjcLjcLjcKTcJXcKccKecJRcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPncPocOZcOccOccOccNPcNQcPpcOHcOIcOIcOIcOIcOIcOHcOHcOHcOHcOocOocOocPqcOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcPrcNecNecNecNecKrcNfcOLcOMcONcNfcKrcPicPscPscPscPkcKrcPtcPtcPtcPtcPtcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC
-cJocJScKbcJUcJZcKacKUcLucNacMpcLucNacMpcMOcLZcMOcLZcLYcMqcMacKXcJVcJTcJZcJRcJYcJccJtcJucJvcKgcKhcKicKjcJAcKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJJcJLcJMcJScKbcJUcJZcKacLicKQcLjcLjcLjcLjcLjcLjcLjcLtcLJcJWcKfcKbcJUcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcNPcNPcNPcNPcNQcPucOHcOHcOHcOHcOHcOHcOHcOHcOHcOHcPvcOocOocOocOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecOrcNecOKcNecKrcNfcPwcPxcPycNfcKrcPicPicNvcPkcPkcKrcPzcPzcPzcPzcPzcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC
-cJbcJZcJYcJXcJVcKdcKXcLYcMqcLwcLYcMqcLwcLIcMbcLIcMbcMpcMocLvcLtcKecKccJVcJUcKacJicKmcJpcJqcJrcJscJtcJucJKcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJEcJLcJMcJZcJYcJXcJVcKdcKbcLicKXcPAcLjcLjcLjcLjcKQcKWcKacJScJRcJYcJXcKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcPucOHcOHcOHcOHcOHcPBcOHcOHcPBcOHcPCcPDcPDcPDcPEcPDcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecPrcKrcNfcNfcNfcNfcNfcKrcPFcPFcPGcPHcPHcKrcPIcPIcPIcPIcPIcKrcPJcPKcPKcPKcPLcKrcPMcPNcPNcPNcPOcKC
-cJecJVcKacJWcKecJTcLtcMpcMocMacMpcMocMacLucMNcLucMNcLwcMzcLZcKWcKbcKfcKecJXcKdcJfcKkcKlcKmcJpcJqcJrcJscJIcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcJCcJLcJMcJVcKacJWcKecJTcJYcKbcLtcKWcKYcMncKTcKXcLicJXcKdcJZcJUcKacJWcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcPPcOHcOHcOHcOHcOIcPQcOIcOIcPQcOIcPRcPScPScPScPScPScNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPTcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPW
-cJhcKecKdcJScKbcKccKWcLwcMzcLvcLwcMzcLvcLYcNacLYcNacMacMOcMbcKZcJYcJRcKbcJWcJTcJncJucJvcKgcKhcKicKjcKncJBcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJKcJLcJMcKecKdcJScKbcKccKacJYcJUcJXcKdcJScJYcJRcKbcJWcJTcJVcJXcKdcJScJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcNQcPXcPYcPYcPZcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJgcKbcJTcJZcJYcKfcKZcMacMOcLZcMacMOcLZcMpcMqcMpcMqcLvcLIcMNcMncKacJUcJYcJScKccJkcKhcKicKjcKncKkcKlcKmcJEcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcJycJLcJMcKbcJTcJZcJYcKfcKdcKacJXcJWcJTcJZcKacJUcJYcJScKccKecJWcJTcJZcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcQacQacQacQacNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcJOcJOcJOcJOcJOcMXcJOcJOcJOcJOcJOcMXcJOcJOcJOcJOcJOcMX
-cJccJYcKccJVcKacJRcMncLvcLIcMbcLvcLIcMbcQbcMocLwcMocLZcLucNacMycKdcJXcKacJZcKfcJacJscJtcJucJvcKgcKhcKicJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJKcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJLcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcQacQacQacQacNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQccQdcQecQfcQgcKrcQhcQicQjcQkcQlcKrcQmcQncQocQpcQqcKC
-cJicKacKfcKecKdcJUcMycLZcLucMNcLZcLucMNcQbcMzcMacMzcMbcLYcMqcKRcJTcJWcKdcJVcJRcJjcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcNQcNQcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQrcQrcQscQrcQrcKrcQtcQucQucQucQtcKrcQvcQvcQvcQvcQvcKC
-cJfcKdcJRcKbcJTcJXcKRcMbcLYcNacMbcLYcNacQbcMOcLvcMOcMNcMpcMocKQcKccJScJTcKecJUcJmcJLcJacJbcJccJdcJecJfcJgcJhcJacJicJjcJkcJlcJmcJncJocJgcJfcJjcJccJdcJhcJkcJecJmcJicJocJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQrcQrcQrcQrcQrcKrcQtcQucQucQucQtcKrcQvcQvcQvcQvcQvcKC
-cJncJTcJUcJYcKccJWcKQcMNcMpcMqcMNcMpcMqcQbcLIcLZcLIcNacLwcMzcLicKfcJZcKccKbcJXcJdcJLcJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQwcQxcQrcQxcQwcKrcQtcQycQucQycQtcKrcQzcQAcQvcQBcQzcKC
-cJkcKccJXcKacKfcJScLicMncNacMbcMzcMqcLZcMncNacMbcMzcMqcLZcKScKacJRcJVcKfcJYcJWcJlcJLcJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcPUcPUcPUcPUcPUcMXcPUcPUcPUcPUcPUcMXcPUcPUcPUcPUcPUcMX
-cJacKfcJWcKdcJRcJZcJXcMycLJcLicKScKYcKQcMycLJcLicKScKYcKQcKUcKdcJUcKecJRcKacJScJocJLcJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJLcJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQDcQEcQFcQGcQHcQIcQCcQJcQKcQLcQCaaaaaacQMcQNcQNcQNcQNcQNcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLcJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcQFcQFcQFcQFcQPcQQcQRcQCaaaaaacQNcQScQTcQUcQVcQWcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcMXcMXcMXcMXcMXcMXcMXcMXcMXcMX
-cJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLcJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQXcQXcQFcQFcQFcQYcQCcQZcRacRbcQCaaaaaacQNcRccRdcRdcRdcRccQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRecRfcRfcRfcRfcRfcRfcRfcRgcMX
-cJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLcJecJVcKacJWcKecJTcJYcKbcJRcKdcJUcKfcJScJXcKccJZcJYcJTcJUcKacJWcKbcKfcKecJXcKdcJfcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcQFcRhcRhcQCcQCcRicQCcQCaaaaaacQNcRccRjcRjcRjcRccQOcRkcRlcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcRncRncRncRncRncRncRncRmcMX
-cJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLcJhcKecKdcJScKbcKccKacJYcRocRpcRqcRrcMMcLhcMrcRscRtcRucRvcKdcJScJYcJRcKbcJWcJTcJncJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcRwcRwcQFcRxcRycRzcQCcRAcRicRBcQCaaaaaacQNcRccRCcRDcREcRccQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcRFcRFcRFcRGcRFcRFcRFcRmcMX
-cJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLcJgcKbcJTcJZcJYcKfcKdcKacRvcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcJTcJZcKacJUcJYcJScKccJkcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcRxcRRcRScQCcRTcRicRUcQCaaaaaacQNcRccRCcRDcREcRccRVcRWcRXcRYcRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcShcShcShcRmcMX
-cJecJncJmcJccJkcJlcJjcJacJecJdcJhcJbcJicJgcJocJfcJjcJlcJhcJmcJccJacJbcJkcJgcJdcJfcJLcJccJYcKccJVcKacJRcJTcKdcRQcRNcROcSicSjcSkcRKcRJcSlcSmcSncKccJVcKdcJXcKacJZcKfcJacJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSocQFcQFcQFcQFcQCcQCcQCcQCcQCcQCaaaaaacQNcRccRCcRDcREcRccSpcRWcSacSacRZcSacRWcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSqcSfcSgcRmcSrcSscStcRmcMX
-cJhcKecKdcJScKbcKccKacJYcJUcJTcJXcJRcJZcJWcKfcJVcKacKccJXcKdcJScJYcJRcKbcJWcJTcJncJLcJicKacKfcKecKdcJUcKccJTcSncRJcSlcRPcRIcRHcSjcSicSucRMcSvcKfcKecJTcJWcKdcJVcJRcJjcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSwcSxcSycSzcQFcSAcSBcSCcSDcSEcQCaaaaaacQNcRccRDcRDcRDcSFcSGcSHcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcShcShcShcRmcMX
-cJgcKbcJTcJZcJYcKfcKdcKacJXcKccJWcJUcJVcJScJRcKecKdcKfcJWcJTcJZcKacJUcJYcJScKccJkcJLcJfcKdcJRcKbcJTcJXcKfcKccSvcSicSucSmcROcRNcRIcRPcRLcRKcSIcJRcKbcKccJScJTcKecJUcJmcJLaaaaaaaaaaaacJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSJcSKcSLcQFcQFcQFcSMcSNcSOcSPcQCaaaaaacQNcRccRDcRDcRDcSFcSGcSHcSacSacSacSacSQcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcSScShcShcRmcMX
-cJccJYcKccJVcKacJRcJTcKdcJWcKfcJScJXcKecJZcJUcKbcJTcJRcJScKccJVcKdcJXcKacJZcKfcJacJLcJncJTcJUcJYcKccJWcJRcKfcSIcRPcRLcRMcSlcRJcROcSmcSkcSjcSTcJUcJYcKfcJZcKccKbcJXcJdcJLaaaaaaaaaaaacJMcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSUcSKcSLcQFcQFcQFcSVcSWcSVcSWcQCaaaaaacQNcRccSXcRDcSYcRccSpcRWcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTacTacTacTacTacTacTacTacTacTacTacTaaaaaaacMXcRmcSecSfcSgcRmcTbcTbcTbcRmcMX
-cJicKacKfcKecKdcJUcKccJTcJScJRcJZcJWcKbcJVcJXcJYcKccJUcJZcKfcKecJTcJWcKdcJVcJRcJjcJLcJkcKccJXcKacKfcJScJUcJRcSTcKbcJXcRKcSucSicSlcRMcJWcJTcTccJXcKacJRcJVcKfcJYcJWcJlcJLaaaaaaaaaaaacJMcKbcJWcJTcKbcJWcJTcKbcJWcTdcKbcJWcJTcTecJWcJTcKbcJWcJTcKbcJWcJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSJcTfcTgcSocThcSAcTicSPcTjcTkcQCaaaaaacQNcTlcRccTmcRccTncRVcRWcSacSacRZcSacRWcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTocTocTpcTacTocTocTqcTacTocTocTpcTaaaaaaacMXcRmcTbcTbcTrcRmcTbcTbcTbcRmcMX
-cJfcKdcJRcKbcJTcJXcKfcKccJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcKbcKccJScJTcKecJUcJmcJLcJacKfcJWcKdcJRcMMcRqcLHcTscTtcLhcSjcRLcRPcSucRKcJScKccTucJWcKdcJUcKecJRcKacJScJocJLaaaaaaaaaaaacJMcJYcJScKccJYcJScKccJYcJScTvcTwcTxcTvcTwcJScKccJYcJScKccJYcJScKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCaaaaaacQNaaacTlcTycTnaaacRVcRWcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTzcTAcTocTacTocTAcTocTacTocTBcTocTaaaaaaacMXcRmcTbcTbcTCcTDcTbcTbcTbcRmcMX
-cJncJTcJUcJYcKccJWcJRcKfcJVcJXcKecJZcKacKbcJScKdcJRcJWcKecJUcJYcKfcJZcKccKbcJXcJdcJLcJjcJRcJScJTcJUcSIcRHcSkcRMcRKcRNcRIcSkcSmcRLcSjcJZcKfcTEcJScJTcJXcKbcJUcKdcJZcJbcJLaaaaaaaaaaaacJMcKacJZcTFcKacTGcKfcKacTGcTFcTHcTGcTFcTHcTGcKfcKacTGcKfcTHcJZcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTacTacTacTacTacTacTacTacTacTacTacTacSZcTJcTKcTLcTacTJcTKcTLcTacTJcTMcTLcTaaaaaaacMXcRmcTNcTbcTbcTbcTbcTbcTOcRmcMX
-cJkcKccJXcKacKfcJScJUcJRcKecJWcKbcJVcKdcJYcJZcJTcJUcJScKbcJXcKacJRcJVcKfcJYcJWcJlcJLcJmcJUcJZcKccJXcSTcRNcRHcRKcSjcRJcROcRHcRMcSkcRIcRucRucRucRucTPcJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaacJMcKdcJVcTQcTRcTScJRcTRcTScTQcTRcTScTQcTRcTScTQcKdcTScTQcTRcJVcJRcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcTUcTVcTWcTXcTTcTacTYcTocTocTZcTacSZcTocTAcTocUacTocTAcTocUacUbcUccUdcTaaaaaaacMXcRmcUecTbcTbcUfcTbcTbcUgcRmcMX
-cJacKfcJWcKdcJRcJZcJXcJUcUhcUicTtcUjcUkcKacUlcLgcRqcUmcUncJWcKdcJUcKecJRcKacJScJocJLcJdcJXcJVcKfcJWcTccRJcRNcSjcRIcSicSlcRNcRKcRHcROcRPcRLcRIcSicUocJScKacJWcKccKecJhcJLaaaaaaaaaaaacJMcJTcKecUpcTdcUqcJUcTdcUqcUpcTdcUqcUpcTdcUqcUpcJTcUqcUpcTdcKecJUcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscUtcUucUscTTcTacUvcTAcTAcUwcTacSZcTocTAcTAcTAcTAcUxcTAcTAcTAcUycUzcTaaaaaaacMXcUAcTbcTbcTbcTbcTbcTbcTbcUAcMX
-cJjcJRcJScJTcJUcJVcJWcJXcUBcUCcUDcUEcUFcJXcUGcUHcUIcUJcUKcKacJTcJXcKbcJUcKdcJZcJbcJLcJlcJWcKecJRcJScTucSicRJcRIcROcRPcSucRJcSjcRNcSlcSmcSkcROcRPcULcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaacJMcKccKbcUMcTvcTecJXcTvcTecUMcTvcTecUMcTvcTecUMcKccTecUMcTvcKbcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUNcUPcUQcUNcUNcUNcUPcUNcUNcUNcUNcUNcUNcUPcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcUscTTcTacURcTAcTAcUScTacSZcTocTAcUTcTAcUTcTAcTAcTAcTAcUUcUVcTaaaaaaacMXcRmcTbcTbcTbcTbcTbcTbcTbcRmcMX
-cJmcJUcJZcKccJXcKecJScJWcUKcUWcUXcUYcUZcJWcVacVbcVccVdcVecKdcKccJWcJYcJXcJTcJVcJecJLcJocJScKbcJUcJZcTEcRPcSicROcSlcSmcRLcSicRIcRJcSucRMcRHcSlcSmcRocJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaacJMcKfcJYcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcJYcJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUOcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUPcUNcUNcUNcUNcUNcUPcUNcUNcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcVgcTTcTIcVhcTAcTAcVicTacSZcTocTAcTocVjcVkcVlcVmcVncVocTocVpcTaaaaaaacMXcVqcRgcTbcTbcTbcTbcTbcRecTDcMX
-cJdcJXcJVcKfcJWcKbcJZcJScVecVrcVscUDcUlcJScUBcVtcVucVvcVwcJTcKfcJScKacJWcKccKecJhcJLcJbcJZcJYcJXcSIcVxcSmcRPcSlcSucRMcSkcRPcROcSicRLcRKcRNcSucRMcVycUjcTPcJVcJUcKacJicJLaaaaaaaaaaaacJMcJRcKacTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcKacJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcVzcUNcUNcUNcUNcUNcUOcUNcUNcUQcUPcUNcUNcUPcUNcUNcUPcUQcUNcUPcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcUscTTcTacTacVAcTacTacTacSZcTacVBcTacTacTacTacTacTacTacTacTacTaaaaaaaaaacMXcVqcRgcTbcVCcTbcRecTDcMXaaa
-cJlcJWcKecJRcJScJYcJVcJZcVwcUEcVDcUXcVEcJZcUKcVFcUJcVGcUFcKccJRcJZcKdcJScKfcKbcJgcJLcJecJVcKacJWcSTcRIcRMcSmcSucRLcRKcRHcSmcSlcRPcSkcSjcRJcRLcRKcRHcSmcUocKecJXcKdcJfcJLaaaaaaaaaaaacJMcJUcKdcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcKdcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUPcUQcUNcUNcUPcUNcUQcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcVgcTAcTAcUscTTcTacTocTAcVHcVIcVJcVKcVHcTAcVHcVLcVMcUbcTocVNcVOcTaaaaaaaaaaaaaaaaaaacMXcVqcVPcVQcVRcTDcMXaaaaaa
-cJocJScKbcJUcJZcKacKecJVcUFcUBcUZcVwcUhcJVcVecUncUGcUKcUZcKfcJUcJVcJTcJZcJRcJYcJccJLcJhcKecKdcJScTccROcRKcRMcRLcSkcSjcRNcRMcSucSmcRHcRIcSicSkcSjcRNcRMcULcKbcJWcJTcJncJLaaaaaaaaaaaacJMcJXcJTcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcJTcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUNcUNcUNcUQcUNcUPcUQcUNcUPcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTLcVScVScVScVScTJcTIcVTcTIcVTcTTcUscTAcTAcUscTTcTacTocTAcVUcVVcVWcVXcVUcTAcVUcVYcVZcTAcWacTAcTocTaaaaaaaaaaaaaaaaaaaaaacMXcMXcMXcMXcMXaaaaaaaaa
-cJbcJZcJYcJXcJVcKdcKbcKecJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcJXcKecKccJVcJUcKacJicJLcJgcKbcJTcJZcTucSlcSjcRKcSkcRHcRIcRJcRKcRLcRMcRNcROcRPcRHcRIcRJcRKcRocJYcJScKccJkcJLaaaaaaaaaaaacJMcJWcKccUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcKccKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWbcWccWdcWecWfcWgcUrcUNcUNcUNcUNcUNcUNcWhcWhcWhcWhcWhcWhcWhcUNcUNcUNcUNcUNcUNcUNcUPcUNcUNcVzcUQcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWicWjcWjcWjcVgcWkcWlcWlcWlcWlcTIcTIcWmcWncWncWmcTIcTIcTocTAcWocWpcTAcWqcWocTAcWocWrcWscTAcTocWtcWucTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJecJVcKacJWcKecJTcJYcKbcJRcKdcJUcKfcJScJXcKccJZcJYcJTcJUcKacJWcKbcKfcKecJXcKdcJfcJLcJccJYcKccJVcTEcSucRIcSjcRHcRNcROcSicSjcSkcRKcRJcSlcSmcRNcROcSicSjcRvcKacJZcKfcJacJLaaaaaaaaaaaacJMcJScTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWvcWwcWwcWwcWwcWwcUrcUNcUNcUNcUNcUNcWxcWycWzcWAcWAcWAcWBcWycWCcUNcUNcUNcUNcVzcUNcUNcUOcUNcUOcUNcUPcUNcUPcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWDcWjcWEcWEcUscWkcWFcWGcTAcWHcTIcWEcWlcTAcTAcWlcWEcWmcTAcTAcTacWmcWncWmcTacWIcTacWJcWKcWncWJcWLcWKcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJhcKecKdcJScKbcKccKacJYcJUcJTcJXcJRcJZcJWcKfcJVcKacKccJXcKdcJScJYcJRcKbcJWcJTcJncJLcJicKacKfcKecWMcRLcROcRIcRNcRJcSlcRPcRIcRHcSjcSicSucRMcRJcSlcRPcRIcRQcKdcJVcJRcJjcJLaaaaaaaaaaaacJMcJZcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcWNcWNcWNcWOcWwcWPcWQcUNcUNcUNcUNcUNcWycWRcWScWTcWUcWVcWWcWWcWycWXcUNcUNcWhcWhcWhcWhcWhcWhcWhcWhcWYcWZcWhcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVTcXacTUcUscUscUscWFcWGcTAcTAcXbcTAcTAcTAcTAcTAcXccWncTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcUxcTAcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJgcKbcJTcJZcJYcKfcKdcKacJXcKccJWcJUcJVcJScJRcKecKdcKfcJWcJTcJZcKacJUcJYcJScKccJkcJLcJfcKdcJRcKbcXdcSkcSlcROcRJcSicSucSmcROcRNcRIcRPcRLcRKcSicSucSmcROcSncJTcKecJUcJmcJLaaaaaaaaaaaacJMcJVcJUcTHcTScUpcKacTScUpcTHcTScUpcTHcTScUpcTHcJVcUpcTHcTScJUcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcXecWwcWwcXecUrcXfcXfcXfcXfcWwcWwcXgcUNcUNcUNcUNcUNcWycXhcXicXicXjcXicXicXicWycWXcUNcXkcXlcXmcXmcXncUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWicWjcWEcWEcUscWkcWFcWGcTAcXocTIcWlcTUcWlcWlcTUcWlcWmcTAcTocTocTocTocTocTocTocTocTocTocTocTocTocTAcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJccJYcKccJVcKacJRcJTcKdcJWcKfcJScJXcKecJZcJUcKbcJTcJRcJScKccJVcKdcJXcKacJZcKfcJacJLcJncJTcJUcJYcTPcRHcSucSlcSicRPcJUcRMcSlcRJcROcSmcJXcSjcRPcRLcRMcSlcSvcKccKbcJXcJdcJLaaaaaaaaaaaacJMcKecJXcKdcUqcJXcKdcUqcUMcTRcUqcUMcTRcUqcUMcTRcKecJXcTRcKecJXcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWwcWwcWwcWwcXpcWwcWwcWwcWwcWwcWwcXgcUNcUNcUNcUNcUNcWycXqcXicXicXicXrcXicXscWycWXcVzcXkcXgcXtcXtcXtcXtcXtcUrcXucXvcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWDcWjcWjcWjcVgcWkcWlcWlcWlcWlcTIcTIcTIcTIcTIcTIcTIcTacWncTacXwcXwcXxcXycXzcXAcXBcXycXxcXwcXwcTacWncTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJicKacKfcKecKdcJUcKccJTcJScJRcJZcJWcKbcJVcJXcJYcKccJUcJZcKfcKecJTcJWcKdcJVcJRcJjcJLcJkcKccJXcKacUocRNcRLcSucRPcRHcKbcSicSjcRMcRJcRIcJUcRNcSmcSkcRKcSucSIcKfcJYcJWcJlcJLaaaaaaaaaaaacJMcKbcJWcJTcKbcJWcJTcTecVfcTdcTecVfcTdcTecVfcTdcKbcJWcJTcKbcJWcJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWwcXCcWwcWwcUrcXDcWwcXCcXCcWwcWwcXgcUNcUNcUNcUNcUNcXEcWycWycWycXFcWycWycWycXGcUNcUNcXHcXgcXtcXtcXIcXtcXtcXJcXKcXKcXLcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTLcVScVScVScVScTJcTIcVTcTIcVTaaaaaaaaaaaaaaacXMcTacTAcTacTacWJcWLcWKcTacTacTacWJcWLcWKcTacTacTAcTacXNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJfcKdcJRcKbcJTcJXcKfcKccJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcKbcKccJScJTcKecJUcJmcJLcJacKfcJWcKdcULcRJcSkcRLcSmcRNcJYcKecJTcKacJVcKccJXcRJcRMcRHcSjcRLcSTcJRcKacJScJocJLaaaaaaaaaaaacJMcJYcJScKccJYcJScKccTwcTxcTvcTwcTxcTvcTwcTxcTvcJYcJScKccJYcJScKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcXOcWNcXPcWwcUrcWwcXQcXRcXScXTcWwcXUcUNcUNcUNcUNcUNcUNcUNcWycXVcXicXWcWycXXcWhcWhcWhcXYcXUcXtcXZcYacYbcXtcUrcXKcYccYccUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcTacYecTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTacYecTacYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJncJlcJhcJjcJocJccJecJbcJncJgcJkcJfcJmcJacJicJdcJecJccJkcJhcJjcJbcJfcJocJacJgcJdcJLcJjcJRcJScJTcKWcKQcMncKZcLJcKRcKYcKTcKUcKVcLicKXcMncKQcKYcMycKScKZcKTcJUcKdcJZcJbcJLaaaaaaaaaaaacJMcKacJZcKfcKacJZcKfcKacJZcTFcTHcTGcTFcTHcJZcKfcKacJZcKfcKacJZcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYfcYgcYhcWwcUrcWwcXQcYicWNcXTcWwcUrcUNcUNcUNcUNcUNcUNcUNcWycXicXicXicWycXlcXmcXmcXmcXncUrcYjcXZcYkcYbcXtcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcVHcTocVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcTocVHcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cKecKccJXcKacKfcJScJUcJRcKecJWcKbcJVcKdcJYcJZcJTcJUcJScKbcJXcKacJRcJVcKfcJYcJWcJTcJLcJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaacJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYlcWwcWwcWwcUrcWwcWwcYmcYmcWwcWwcUrcUNcUNcWxcWycWycWycWycWycXicXicXicWycXgcYncYncYncYncYocXtcXtcXtcXtcXtcYpcYqcYrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcVUcTocVUaaaaaaaaacYsaaaaaaaaacYtaaaaaaaaacVUcTocVUcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cKbcKfcJWcKdcJRcJZcJXcJUcKbcJScJYcKecJTcKacJVcKccJXcJZcJYcJWcKdcJUcKecJRcKacJScKccJLcJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUNcUNcWycXscXicXicYucWycXicXicXicWycXUcYvcYwcXmcXncUrcYjcXtcXtcXtcXtcUrcYxcYxcYycUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcWocTocWoaaaaaaaaacYzcYAcYBcYCcYzaaaaaaaaacWocTocWocYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJYcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcKfcJLcJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicYDcYEcWycXicXicXicWycWycYFcYGcYHcYIcUrcUrcUrcUrcUrcYJcUrcYKcYxcYycUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcYscTocYtaaaaaacYscYzcYLcYMcYLcYzcYtaaaaaacYscTocYtcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cKacJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJRcJLcJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYNcUNcWycXscXicYDcYOcWycXicXicXicWycYPcXicXicWycYQcYRcYIcUrcYScYTcYUcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYVcYzcYWcYzaaacYscYzcYXcYYcYZcYYcZacYzcYtaaacYzcYWcYzcZbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cKdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJUcJLcJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicXicXicZccXicXicZdcZecXicXicZfcWycWXcUNcXkcWQcZgcYTcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYzaaacZhcZicZjcZkcZkcZkcZjcZicZhaaacYzcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJTcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJXcJLcJecJncJmcJccJkcJlcJjcJacJecJdcJhcJbcJicJgcJocJfcJjcJlcJhcJmcJccJacJbcJkcJgcJdcJfcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicXicXicZlcXicXicXicZmcXicZncZocWycZpcUNcXkcXgcYScZqcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYWcYzaaacZrcZicZjcZscZkcZscZjcZicZraaacYzcYWcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cKccJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJWcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWxcWycWycWycWycWycWycZtcXicXicWycWycWycWycWycWycWCcXkcXUcYScYTcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYzcYzcYzcYzcYzcYzcYWcYzcYzcYzcYzcYzcYzcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-cJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvcZwcZxcZycWycXicXicXicWycZzcZAcZBcZCcZDcWycZEcUrcYScYTcZFcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYYcYYcYYcYYcYYcYYcZkcYYcYYcYYcYYcYYcYYcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZGcZGcZGcZGcZGcZHcXicXicXicZIcXicXicXicXicZJcWycZEcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYzcYzcYzcYzcYzcYzcYzcYWcYzcYzcYzcYzcYzcYzcYzcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvcZGcZGcZGcZKcXicXicXicZLcXicXicXicXicZJcWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZhcZMcZNcZOcZPcZQcYYcZRcZkcYYcYYcYYcYYcZQcZScZTcZhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZUcZGcZGcZVcZWcWycZXcZYcZZcWydaacWydabcWycWycWydaccUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZrcYYcZkcZkdadcZkcZkdaecZkdaecZkcZkcZkcZkdafcYYcZraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZGcZGcZGcWycWycWydagdahdaicWycWycWycXicXicXicWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYscYzdajdakdaldamdancZkdaecZkdaecZkdaodapdaqcZScYYcYzcYtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvdarcWycUNcWydasdasdascWycUNcWycWWdatdaucWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzcZhcYzcYzcYzdawcZkdaedaxdaecZkdaycYzcYzcYzcZhcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWydasdasdascWycUNcXEdaBdaCdaDcXGcUNcWydasdasdascWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavdaEdazaaacYzdaFcZkdaGdaHdaIcZkdaJcYzaaadavdaEdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcXEdaBdaCdaDcXGcUNcUNcUNcUNcUNcUNcUNcXEdaBdaCdaDcXGcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaKaaaaaacYzdaLcZkcZkdaMcZkcZkdaNcYzaaaaaadaKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzdaOcZkcZkcZkcZkcZkdaNcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzdaPdaQdaQdaQdaRcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzcYzcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaSdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-daTdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaVdaWdaXdaYdaZdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbadaZdbbdaUdbcdbcdbcdbcdbddaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbedbfdbgdaUdbhdbidbjdbcdbcdaUdbkdbkdbldbkdbkdbkdbmdbkdbkdbkdbndbkdbkdbkdbodbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbqdbrdbsdaUdbtdbudbvdbcdbcdaUdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbqdbcdbgdaUdbcdbwdbcdbcdbcdaUdbkdbkdbkdbkdbxdbkdbkdbkdbydbkdbkdbkdbzdbkdbkdbkdbAdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbBdbCdbDdaUdbcdbcdbcdbcdbcdaUdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdbEdbFdbEdaUdaUdaUdbGdaUdaUdaUdaUdbHdaUdaUdbIdbJdbJdbJdbJdbJdbKdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbLdbMdbNdbOdbPdbQdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdaUdbSdbTdbTdbTdbTdbTdbUdbVdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbbdbWdbrdbXdbgdbFdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdaUdbTdbTdbYdbZdcadbYdcbdcbdaUdccdcddcddcedaUdcfdcgdchdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdcidcjdbCdbCdckdcldbRdbRdbRdbRdbRdcmdcmdbRdbRdbRdbRdbRdaUdbTdbTdbYdcndcodbYdcpdcqdaUdcrdcrdcrdcrdaUdcsdcgdctdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdbRdbRdbRdbRdcudcvdcwdcxdbRdbRdbRdbRdbTdbTdbTdbTdbTdbTdbTdcbdcbdaUdcrdcydczdczdaUdaUdcAdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbLdcBdbNdbOdbPdbQdbRdbRdbRdbRdcudcCdcDdcxdbRdbRdbRdbRdbTdbTdbTdbTdbTdbTdbTdbTdbTdcEdcrdcFdcFdcrdcrdcrdcrdcGdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbbdbWdbrdbXdbgdbFdbRdbRdbRdbRdcudcHdcDdcxdbRdbRdbRdbRdaUdbTdbTdbYdcndcadbYdbTdbTdbTdcrdcrdcrdcrdcIdcrdcrdczdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdcidcjdbCdbCdckdcldbRdbRdbRdbRdcudcJdcDdcxdbRdbRdbRdbRdaUdbTdbTdbYdcndcKdbYdbTdbTdcEdcLdcrdcrdcrdcMdcrdcrdcNdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaadcOdcOdcOdcOdcOdcOdcOdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdcPdcQdcPdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaadcOdcRdcSdcTdcUdcVdcWdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcYdaWdaXdaYdaZdaUdcZddaddaddaddadaUddbdbRddcdddddeddeddfddgddhdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaadcOddiddjddjddjddjddkdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdbcdbcdbcdbcdbddaUddlddlddlddlddldaUddmdbRddndddddgddgddgddoddpdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaddqddjddjddjddjddjddrdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXdduddtddtddvdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddwddxddydcXddwddzddydcXdbhdbidbjdbcdbcdaUdaUdaUddAdaUdaUdaUddmdbRddndddddgddgddBddBddCdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaadcOddjddjddjddDddEddFdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXddGddtddtddHdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddIddJddIdcXddIddJddIdcXdbtdbudbvdbcdbcdaUdbRdbRdbRddKddKdaUddmdbRddndddddgddgddgddLddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaadcOdcOdcOdcOdcOdcOdcOdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXddMddtddtddNdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddOddOddIdcXddPddQddIdcXdbcdbwdbcdbcdbcddRdbRdbRddKddSddSdaUddmdbRddndddddgddgddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdcXdcXdcXddtddtdcXdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddIddIddIdcXddIddIddIdcXdbcdbcdbcdbcdbcddTdbRdbRddKddSddSdaUddmdbRddndddddddddddUdddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVddWddXddYddZddZddZdcXdeaddtddtddtddtddtddtddtdebdcXaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdecdcXdcXdecdcXdcXdaZdaZdaZdbcdbcddRdbRdbRdbRddKddKdaUddmdbRddndddddpddoddgddgddBdddddpddoddgdddddgddoddpdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedefdegdeedeedeedefdehdeidejddZddZddZddZdcXdekddtddtddtddtddtddtddtdeldcXaaaaaaaaaaaaaaaaaaaaaaaadcXddwddIdemddIdenddtddtddtddtddtdcXdaUdaUdaUdaUdaUdaUdeodbRdbRdbRdbRdaUddmdbRddndddddCdepddgddgdeqdddddCddBddgdddddgddBddCdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdetddtddtddtddtddtddtddtdeudcXaaaaaaaaaaaaaaaaaaaaaaaadcXdevdewddOddIdecddtddtddtddtddtdcXdexddtdcXddtdexdaUdeydbRdbRdbRdezdaUddmdbRddndddddgddgddgddgdeqdddddgddgddgdddddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedeAdegdeedeedeedeAdehdeidejddZddZddZddZdcXdeBddtddtddtddtddtddtddtdeCdcXaaaaaaaaaaaaaaaaaaaaaaaadcXdeDddIddIdeEdenddtddtddtddtddtdcXddtddtdcXddtddtdaUdeFdbRdbRdbRdeGdaUddmdbRddnddddeHddgddgddgdeqdddddddeIddddddddddeIddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdcXdcXdeJdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtddtddtddtdcXdeKdeLdcXdeLdeKdddddddeMdeNdeMddddddddmdbRddnddddddddddeOddddddddddePdePdePdePdePdePdePdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedeQdegdeedeedeedeQdehdeidejddZddZddZddZdcXdcXdeRdeSdeTdcXdcXdcXdeUdeVdeUdcXdcXdcXdeWdeXdeYdcXdcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXddtddtddtddtdfaddddfbdfcdfddfcdfcdfcdfedfddffdfcdfcdfcdfddfcdfgddddfhdfhdePdePdePdePdePdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdfideSdeSdeSdfjdcXdfkdeSdeSdeSdfldcXdfmdeSdeSdeSdfndcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXddtdfoddtddtdfaddddfpdfddfddfddfddfddfddfddfddfddfddfddfddfddfqddddfrddCdfsdePdePdePdftdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedfudegdeedeedeedfudehdfvdejddZddZddZddZdcXdfideSdeSdeSdfwdcXdfkdeSdeSdeSdfldcXdfmdeSdeSdeSdfxdcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXdfydfzddtddtdfaddddfpdfddfAdfBdfBdfBdfBdfBdfBdfBdfBdfBdfCdfddfqddddfrdfDdfsdePdePdePdfEdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdfFdcXdcXdcXdfGdeSdeSdeSdfHdcXdfGdeSdeSdeSdfIdcXdfGdeSdeSdeSdfJdcXdcXdcXdfKdcXdcXdcXdcXdeKdfLdeKdcXdcXdcXdeKdeLdeKdcXddddfpdfddfMdfNdfOdfOdfOdfOdfOdfOdfOdfPdfQdfddfqdddddddddddddeIdddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdfRddtddVdfRdcXddVdfSddtddVdfTdcXdcXdcXdfUdcXdcXdcXdcXdcXdfVdcXdcXdcXdcXdcXdfWdcXdcXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXddddfpdfddfMdgbdgcdgddgedgfdggdghdgidgbdfQdfddfqddddgjdePdePdePdePdePdgjddddgkddgddgddgddgddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdgldgmddtdgldgmdcXdgnddtddtdgnddtdcXddtdgoddtdgoddtdgpddtdgqddtdgqddtdgpddtdgoddtdgodgrdcXdgsdgtdfZdgudgsdcXdgsdgtdfZdgudgsdcXdgsdgtdfZdgudgsddddgvdfddffdgwdgxdfddgydgzdgAdfddfddgwdfedfddgBddddePdePdePdePdePdePdePdddddgddgddgddgdgCdgDddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdgEddtddtddtddtddtdgFddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdgGdgHdfZdfZdfZdfZdfZdgIdfZdfZdfZdfZdfZdgJdfZdfZdfZdfZdfZdgKdfddfddfddgLdgMdfddfddfddfddfddfddgLdfddfddfddeIdePdePdePdePdePdePdePdgNddgddgddgdgOddBdgPddgdgQdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdgldgmddtdgldgmdcXdgnddtddtdgnddtdcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdgrdcXdgRdgSdfZdgTdgRdcXdgRdgSdfZdgTdgRdcXdgRdgSdfZdgTdgRddddgUdfddfAdgVdfddfddfddfddfddfddfddgVdfCdfddgWddddePdePdePdePdePdePdePdddddgddgddgddgddCddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdfRddtdgXdgYdcXddVdfTddtddVdfTdcXddtddtddtddtddtddtddtddtddtddtdgZdgZdgZddtddtddtddtdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXddddfpdfddfMdgwdhadhbdhcdhcdhcdhddhedgwdfQdfddfqddddgjdePdePdePdePdePdgjddddgkddgddgddgddBddpddfddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdhfdcXdcXdcXdcXdcXdcXdcXdcXddtddtddtddtdfydfzdhgdhhdhiddtddtddtdcXdcXdhjdhkdhldcXdcXdcXdeKdhmdeKdcXdcXdcXdeKdhndeKdcXddddfpdfddfMdddddddhodhpdhqdhrdhsdddddddfQdfddfqdddddddddddddhtddddddddddddddddddddddddddddddddddhuddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdhvddtddVdhvdcXdhwdhxdhwdhxdcXddtddtddtddtdfydfzdfzdfzdhiddtddtddtdcXdhydhydhydhydhydcXdhzdhAdhBdhCdhydcXdhydhydhydhydhyddddfpdfddfMdddddddhDdfOdfOdfOdhEdddddddfQdfddfqddddhFdePdePdePdePdePdhGddddhHdhIdhJdhKdhKdhKddddhKdhKdhLdhMdhNdhOdhPdhQdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdhRddtddtdhRddtdcXdhSdhTdhSdhUdhVddtddtddtddtddtdhWdhWdhWddtddtddtddtdcXdhXdhAdhBdhCdhydcXdhXdhYddIdhZdhydcXdhXdhydhydhydhyddddfpdfddffdiadiadiadiadiadiadiadiadiadfedfddfqddddibdePdePdePdePdePdibddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdcXdhSdhTdhTdhTdicddtddtddtddtddtddtddtddtddtddtddtdiddcXdhydhYddIdhZdhydcXdhydhYddIdhZdhydcXdhydhydhydhydhyddddfpdfddfddfddfddfddfddfddfddfddfddfddfddfddfqddddhGdiedePdePdePdifdhGddddhKdhKdhKdhKdhKdhKdigdhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdcXdihdiidhTdhTdhVddtddtddtddtddtddtddtdijdikddtddtdildcXdhydhYddIdhZdhydcXdhydhYddIdhZdhydcXdhydhydhydhydhyddddimdfBdfBdfBdfBdfBdfCdfddfAdfBdfBdfBdfBdfBdinddddiodePdePdePdePdePdioddddipdhKdhKdhKdhKdiqddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdhRddtddtdhRddtdcXezDdhTdhTdhTdcXddtddtddtddtddtddtddtdijdikddtddtdisdcXdhyditdiudivdiwdcXdhydhYddIdixdhydcXdhydiydhydhydhydddddddddddddddddddddddddizddddddddddiAdddddddddddddibdePdePdePdePdePdibddddiBdhKdhKdhKdhKdiCddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdhvddtddVdhvdcXdiDdiEdiFdiGdcXdgrdiHddtddtddtdgrddtdijdikddtddtdiIdcXdhydiJdiKdiLdiMdcXdhydiNdiOdiPdhydcXdiQdiRdiSdhBdiTdcXdiUdiVdiWdiXddddiYdiZdiZdiZdjaddddjbdjbdjcdjdddddhGdiedePdePdePdifdhGddddddddddhKdhKddddddddddddddddjedddddddjedddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdjfdjfdcXdcXdcXdcXdcXdjgdjgdcXdcXdhydjhdjidjjdjkdcXdhydhYdiKdhZdhydcXdjldiKddIddIdhZdjmdjndjndjndjnddddjodfddfddfddjpddddjbdjbddddddddddiodePdjqdjrdjsdePdioddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXaaaaaaaaaaaadjtdjudjvdjtaaaaaaaaadcXddtddtdjwdcXdjxdhydhydjydjzdcXdhydjhdjidjjdjAdcXdjBdjCddIddIdhZdcXdjDdjEdjFdjGddddjodfddfddfddjpddddjHdjbdjcdjdddddibdePdePdjIdePdePdibddddhKdhKdhKdhKdhKdhKddddjJdhKdhKdjJdhKdhKdjJdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXaaaaaaaaaaaadjtdjKdjLdjtaaaaaaaaadcXddtddtdjMdcXdcXdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNddddjodfddfddfddjpddddjHdjbddddddddddhGdiedePdePdePdifdhGddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdjOdjPdjPdjPdjPdjQdjQdjPdjPdjRaaadcXddtddtdjSdcXaaadjTdjUdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjWddddjodfddfddfddjpddddjHdjbdjcdjdddddiodePdjXdjYdjZdePdioddddkadkadkadkadkadkaddddjJdhKdhKdjJdhKdhKdjJdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkddkedkfdkgdkgdkhdkidjPdjRdcXddtddtdkjdcXaaadjTdjUdjVdjVdjVdkkdkldkldkldkldkmdkmdkldkldkldkldkndjVdjVdjVdjWddddkodgzdgzdgzdkpddddkqdkqdkqdkqdkqdkqdkqdkqdkqdkqdjNdjNdjNddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkrdkgdkgdkgdkgdkgdkgdksdktdjNddtddtdkudcXaaadjTdjUdjVdjVdkkdkvdkwdkxdkydkldkzdkAdkldkBdkCdkDdkldkldkndjVdjWddddddddddkEddddddddddkFdkGdkGdkGdkGdkGdkGdkGdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkgdkJdkJdkJdkJdkJdkJdjPdkKdjNddtddtdkLdcXaaadjTdjUdjVdkkdkldkzdkzdkzdkzdkldkMdkMdkldkzdkzdkzdkzdkzdkldkndjWdaUdkNdkOdkPdkQdkRdaUdkFdkSdkTdkTdkTdkTdkTdkUdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkVdjPdjPdjPdjPdjPdjPdjPdjPdkKaaadjNddtddtdkWdcXaaadjTdjUdkkdkldkXdkYdkZdladlbdkldkzdkzdkMdkzdkzdkzdkzdkzdkzdkldjWdaUdlcdlddledlddlfdaUdkFdlgdlhdlhdlhdlhdlhdlgdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdlidcXaaadjTdjUdljdlkdkzdkzdlldlldlldkldkzdkzdkldkzdkzdkzdkzdkzdlmdkldjWdlndlodlpdkPdlqdlrdlsdkFdlgdlhdlhdlhdlhdlhdlgdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdltdludlvdlwdhlddtddtdeZdcXaaadjTdjUdlydlkdkzdkzdkzdkzdkzdlzdkzdkzdkldkldkldkldkldkldkldlAdjWdlndlBdlCdlDdlCdlEdlsdkFdlgdlhdlhdlhdlhdlhdlFdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdlGdlHdlHdlHdlIddtddtdeZdcXaaadjTdjUdlJdkldkzdkzdkzdkzdkzdkldkzdkzdkldkzdlKdlKdlLdjVdjVdjVdlMdaUdlNdlOdlPdlOdlQdkqdkFdlgdlhdlhdlhdlhdlhdlRdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdlxdlTdlUdlVdhlddtddtdeZdcXaaadjTdjUdjVdkldkldkldkldkldkldkldkzdkzdlzdkzdlWdlXdlYdjVdjVdjVdjWdaUdkNdlZdmadmbdmcdkqdkFdlgdlhdlhdlhdlhdmddlgdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdeZdcXaaadjTdjUdkkdkldmedmfdmgdmhdmidkldkzdkzdkldkzdlKdlKdmjdjVdjVdjVdjWdaUdmkdkQdmldkOdmmdmndkFdlgdlhdlhdlhdlhdlhdlRdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmodmpdmqdmrdmrdmsdmtdcXdkLdkjdkjdkLdcXddtddtdeZdcXaaadjTdjUdljdlkdmudmvdmudmudmudlzdkzdkzdkldkldkldkldkldkldkldkndjWdaUdmkdkPdkPdkPdmmdmndkFdlgdlhdlhdlhdlhdlhdmwdkqdkIaaaaaaaaaaaadmxdmydmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmodmpdmpdmpdmpdmpdmAdcXdliddtddtdlidcXddtddtdcXdcXaaadjTdjUdlydlkdmudmudmudmudmudkldkzdkzdkldkzdkzdkzdkzdkzdkzdkldjWdaUdmkdkPdkPdkPdmmdmndkFdlgdlhdlhdlhdlhdlhdlgdkqdkIaaaaaaaaadmxdmBdmCdmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmEdmpdmFdmEdmGdmHdmIdcXdliddtddtdlidcXddtddtdcXaaaaaadjTdjUdlJdkldmJdmKdmudmLdmMdkldkzdkzdkMdkzdkzdkzdkzdkzdkzdkldjWdaUdmkdkPdkPdkPdmmdmndkFdmNdmOdlhdlhdlhdmPdmQdkHdkIaaaaaadmxdmBdmRdmSdmTdmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmpdmpdmUdmUdmUdmUdmUdcXdkjddtddtdkjdcXddtddtdcXaaaaaadjTdjUdjVdlJdkldmVdmudmWdmudkldkMdkMdkldkzdkzdkzdkzdkzdkldlAdjWdaUdmkdkPdkPdkPdmmdmndkFdmXdmYdmZdmZdmZdmYdnadkHdkIaaaaaadmydnbdncdnddncdnedmyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmpdmpdmpdmpdmpdmpdmpdcXdeKddtddtdeKdcXddtddtdcXaaaaaadjTdjUdjVdjVdlJdkldnfdngdnhdkldkzdnidkldkzdkzdkzdkldkldlAdjVdjWdaUdmkdkPdkPdkPdmmdmndkFdkGdnjdnkdnkdnkdnldkGdkHdkIaaadmxdmBdnmdnddnddnddnndmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdcXaaaaaadjTdjUdjVdjVdjVdlJdkldkldkldkldnodnodkldkldkldkldlAdjVdjVdjVdjWdaUdmkdkPdkPdkPdmmdmndkFdkGdkGdkGdkGdkGdkGdkGdkqdkIaaadnpdnqdnrdnddnddnddnsdnddnpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdcXaaaaaadjTdnvdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjWdaUdmkdkPdkPdkPdmmdnwdjNdjNdjNdjNdjNdjNdjNdjNdjNdmxdnxdnydnxdnxdnxdnzdnxdnAdnxdnydnxdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXaaaaaacMXdnBdnBdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnBdnBdnBdnBdnCdnCdmkdkPdkPdkPdmmdnDdnEdnEdnFdnGdnGdnFcMXaaaaaadnpdnHdnIdnJdnKdnHdnddnJdnKdnHdnIdnJdnpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnLdnMdnMdnBdnEdnDdmkdkPdkPdkPdmmdnDdnEdnCdnNdnOdnOdnPdnCaaaaaadnpdnQdnddnJdnRdnHdnddnJdnRdnHdnddnSdnpaaaaaaaaaaaaaaadnTdnUdnVdnWdnXdntdntdntaaadnudnudnudnTdnUdnVdnWdnXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnYdnZdoadobdnZdoadoadoadocdoadoadoddoednLdnMdnMdnBdnEdnDdofdkPdkPdkPdogdnDdnEdnCdohdohdohdohdnCaaaaaadmydnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdmyaaaaaaaaaaaaaaadoidojdojdojdokdoldomdoldoldoldondoldoodojdojdojdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnZdopdoqdordosdotdotdotdotdotdotdoudovdnMdnMdnMdnBdnEdlOdmkdkPdkPdkPdmmdlOdnEdnCdkPdkPdkPdkPdowdnOdnPdnpdnHdnddnJdoxdnHdnddnJdoxdnHdnddnJdnpaaaaaaaaaaaaaaadoidoydoydozdoAdoBdoCdoDdoEdoFdoGdoBdoHdoIdoydoydoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoJdoqdoqdoqdoJdoqdoqdoqdoqdoqdoqdoKdoJdnLdnMdoLdnBdoMdoNdoOdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdoRdnMdoRdoSdnddnddnddnddnddnddnddnddnddnddnJdnpaaaaaaaaaaaaaaadoidoydoydoTdoUdoVdoWdoVdoXdoVdoWdoVdoYdoTdoydoydoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoZdpadpbdoqdpcdoqdoqdoqdoqdoqdoqdoqdpddnLdnMdoLdpedpfdpgdoOdkPdkPdkPdoPdpgdnMdpgdkPdkPdkPdkPdowdnOdnPdnpdphdnddnJdnKdnHdnddnJdnKdnHdnddnSdnpaaaaaaaaaaaaaaadpidoIdoydpjdoVdoWdoWdoWdoWdoWdoWdoWdoVdpjdoydozdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoJdpldoqdoqdoJdoqdoqdoqdoqdoqdoqdoqdoJdnLdnMdoLdnBdlddoNdoOdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdnCaaaaaadnKdnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdnKaaaaaaaaaaaaaaaaaadpidoldoodpmdpndpodpndoWdppdpqdoWdprdokdoldpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdptdpudoqdpvdosdpwdpwdpwdpwdpwdpwdpxdpydnLdnMdoLdpsdnEdpzdmkdkPdkPdkPdmmdlddnEdnCdkPdkPdkPdpAdnCaaaaaadnRdnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdnRaaaaaaaaaaaaaaaaaaaaaaaadoidpBdpCdpDdpEdoWdppdpqdoWdoBdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdnYdptdoadpFdptdoadoadoadocdoadoadpGdoednLdnMdoLdpsdnEdpHdmkdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdnCaaaaaadoxdnHdnddnJdoxdnHdnddnJdoxdnHdnddnJdoxaaaaaaaaaaaaaaaaaaaaaaaadoidpIdpJdpJdpndoWdppdpqdoWdoVdoidpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnLdnMdoLdpsdnEdpLdmkdkPdkPdkPdoPdpgdnMdpgdkPdkPdkPdkPdowdnOdnPdnpdpMdnddnddnddnddnddnddnddnddnddpNdnpaaaaaaaaaaaaaaaaaaaaaaaadoidpOdpJdpJdpPdoWdoVdoVdoWdpQdpRdpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdnCdnCdpzdmkdkPdkPdkPdoPdnCdnCdnCdoQdkPdkPdkPdoRdnMdoRdoSdnddnddnddnddpSdnddpSdnddnddnddpNdmyaaaaaaaaaaaaaaaaaaaaaaaadokdoldoldoldoodoWdppdpqdoWdpTdoidpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpUdpVdpWdpXdpXdpYdpZdqadqbdqcdqddqedqfdqedqedqedqgdqedqedpHdmkdkPdkPdkPdmmdnDdnEdnCdkPdkPdkPdkPdowdnOdnPdnpdqhdqidqjdmydqkdmydqkdmydqldqhdqidnpaaaaaaaaaaaaaaaaaaaaaaaadoidqmdqmdqndqodoWdppdpqdoWdqpdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpUdpVdpVdpVdpVdpVdqqdqrdqrdqrdqsdqedqedqedqtdqedqedqedqedpzdmkdkPdkPdkPdmmdnDdnEdnCdohdohdohdohdnCaaaaaadnpdqudqvdqwdqxdnpaaadnpdqydqzdqydqydnpaaaaaaaaaaaaaaaaaaaaaaaadqAdqBdqBdqBdqCdoWdppdpqdoWdoVdoidqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdqEdpVdqFdqEdqGdqHdqIdqrdqrdqrdqrdqedqedqJdqedqKdqfdqedqedpHdkPdkPdkPdkPdmmdnDdnEdnCdqLdqMdqMdnPdnCaaaaaadmydqwdqwdqwdqNdnpaaadnpdqOdqzdqzdqPdnpaaaaaaaaaaaaaaaaaaaaaaaadoidqQdqRdqBdqSdoWdoWdoWdoWdqTdqUdqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdqVdqrdqsdqsdqsdqsdqsdqrdqrdqrdqrdqedqedqedqWdqedqedqedqedqXdkPdkPdkPdkPdmmdlOdnEdnEdnGdnGdnGdnGcMXaaaaaadnpdqudqvdqwdqYdnpaaadnpdqZdqZdqZdqZdnpaaaaaaaaaaaaaaaaaaaaaaaadoidradqBdqBdqodoWdoVdoVdoVdoYdoidqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrbdqrdqrdqrdqrdqrdqrdqrdqrdqrdqrdrcdqedqedqedqedqedqedqedpzdkPdkPdkPdkPdmmdnDdnEdnCcMXcMXcMXcMXcMXaaaaaadrddnAdredredredrfaaadrgdrhdrhdrhdnAdriaaaaaaaaaaaaaaaaaaaaaaaadoidqQdqRdqBdrjdoWdrkdrldrmdoBdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrbdqrdqrdqrdqrdqrdrndqrdqrdrndqrdrodrpdrpdrpdrqdrpdrpdrpdrrdrsdrtdrtdkPdmmdnDdnEdnCaaaaaaaaaaaaaaaaaaaaaaaadrddrudrudrudriaaadrddrudrudrudriaaaaaaaaaaaaaaaaaaaaaaaaaaadpidrvdrvdoldoldrwdoldoldrvdrvdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrxdqrdqrdqrdqrdqsdrydqsdqsdrydqsdrzdrAdrAdrAdrAdrAdrAdrAdrrdrBdrCdrtdrDdrEdnDdnEdnCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpidoodrFdppdoWdpqdrGdokdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpsdrHdrIdrIdrJdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdrKdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoidrkdoVdrLdoVdrMdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrOdjNdrPdrPdrPdrPdrPdrPdrQdrPdrPdrPdrPdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoidrRdrSdrTdrUdrVdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrWdjNdrXdrPdrXdrPdrXdrPdrYdrPdrPdrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpidsadsbdsbdsbdscdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdsddjNdrXdrPdrXdrPdrXdrPdrYdrPdsedrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsfdrNdsgdshdrNdrNdrNdjNdrXdrPdrXdrPdrPdrPdrYdrPdrPdrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsidrNdshdshdrNdrNdrNdjNdjNdjNdjNdjNdrQdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsidrNdshdshdrNdrNdrNdjNdsjdsjdskdrPdrPdrPdskdsldsldsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsmdrNdsndsndrNdrNdrNdjNdsodsjdjNdrPdrPdrPdjNdsldspdsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsqdrNdrNdrNdrNdrNdsrdjNdsjdsjdjNdrPdrPdrPdjNdssdssdssdsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdstdskdjNdjNdsjdsjdjNdrPdrPdrPdjNdssdsudssdsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdswdsxdjNdrPdrPdrPdjNdsydsldsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdjNdjNdjNdrPdrPdrPdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdszdsAdsBdjNdrPdrPdrPdjNdrPdrPdrPdrPdrPdrPdrPdrPdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdrNdrNdrNdsCdrPdrPdrPdsDdrPdsEdsFdsEdrPdsGdsHdsIdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdjNdjNdjNdrPdrPdrPdjNdsJdsKdsEdsLdsJdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsOdrNdszdjNdrPdrPdrPdjNdsPdsPdsQdsPdsPdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsRdrNdsAdjNdrPdrPdrPdjNdshdshdrNdshdshdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsRdrNdsAdjNdrPdrPdrPdjNdsSdsSdrNdsSdsSdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdsDdjNdjNdjNdsDdjNdjNdrNdrNdrNdrNdrNdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdsTdrPdrPdrPdrPdrPdrPdrPdsUdsSdsSdsSdsSdsSdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdsTdrPdrPdrPdrPdrPdrPdrPdsUdsSdsSdsSdsSdsSdjNdsVdsVdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsWdsXdsXdjNdjNdsYdjNdjNdjNdsYdjNdjNdjNdjNdjNdjNdjNdjNdrPdrPdrPdsZdrPdtadjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrNdrNdtbdtbdtbdtbdtbdjNdrPdrPdsFdsFdrPdrPdtcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrNdrNdshdshdshdshdshdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdtedtedtedjNdjNdrNdrNdtfdtfdtfdtfdtfdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtedtgdtgdtgdtgdthdrNdrNdtbdtbdtbdtbdtbdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtidtgdtgdtgdtjdjNdrNdrNdshdshdshdshdshdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtedtgdtgdtgdtkdjNdrNdrNdtfdtfdtfdtfdtfdjNdrPdrPdtldtldrPdrPdtmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdtndrPdrPdrPdrPdtodjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpaaaaaaaaaaaaaaadtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtrdtpdtsdttdttdttdttdttdtsdtqdtraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtudtvdtwdtxdtydtzdtAdtBdtqaaaaaaaaaaaaaaaaaadtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtDdtEdtEdtEdtEdtEdtFdtBdtsdttdtsdttdtsdttdtsdtsdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtGdtEdtHdtIdtJdtEdtKdtBdtLdtEdtMdtEdtNdtOdtEdtPdtBdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtQdtEdtEdtEdtEdtEdtRdtBdtEdtEdtEdtEdtEdtEdtEdtEdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtSdtTdtEdtEdtEdtTdtUdtBdtVdtEdtWdtEdtXdtOdtEdtPdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdtsdtsdtEdtEdtEdtsdtsdtBdtEdtEdtEdtEdtEdtEdtEdtEdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtqaaadtBdtsdtsdttdtZdttdtsdtsdtsdtsdtsdttduadttdtsdtsdtsdtYaaadtpdtsdttdttdttdttdtsdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtsdtsdtsdubdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEducdtBdtYaaadtpdtBduddtEduedufdtEdugdtBduhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduidtEdujdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaaaaaaaadtCdukduldtEdtEdtEdumdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtsdtsdtsdtsdtsdtsdttdundttdtsdtsdtsdtsdtsduodtEdtEdtBaaaaaaaaadtCdufdtEdtEdtEdtEdupdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtYaaaduqdtBdurdusdutdtEdtEduuduvduwduxducdtBdtEdtEdtBaaaaaadtpdtBduyduzduAduBdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtCdtEdtEdtBdtsdttdtsdtsdtsdtsdtsdtsduCdtsdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBduDduEduFdtEdtEdtEduGduGduGdtEdundtEdtEdtBduHdtEdtEduIdtBduJduzduKdtEduLdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEduMdtsdtsdtsdtsdtBdtEdtEdtBdtEdtEduNduOdtBduPdtEdtEdtEduQdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBduRduSduTdtEduUdtsduVduWduXduYdtBdtEdtEdtBduZdtEdtEdvadtBdvbdtEdtEdtEdvcdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEduUdtsdvdduWduWduWdvedtEdtEdtBdvfdtEdtEdvgdtBdvhdtEdtEdtEdvidtCaaaaaaaaaaaadtpdtsdvjdvjdvjdtsdtqaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdvkdvldvmdtEduUdtsdvnduWdvodvpdtBdtEdtEdtBdvqdvrdtEdtEdvsdtEdtEdtEdtEdtEdtBaaaaaaaaadtpdtsdvtdvudvudvudvvdtsdtqaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdvwdtEdtEdvxdtsdtsdtsdtsdtsdtsdtsdtsdvydtsdtBdtqaaadtpdtsdvtdvudvudvudvudvudvvdtsdtqaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtBdvzdvAdvBdvCdvDdvEdvFdvxdtBdvwdtEdtEdtEdtEdtEdtEdvxdtsdtsdtsdtsdvGdvwdtEdvxdtBdtsdvjdtsdvtdvudvudvudvHdvudvudvudvvdtBaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvIdtEdtEdvJdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdvMdvudvudvudvudvudvudvNdvOdvPdvudvudvudvQaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvRdvSdtEdtEdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdvMdvudvudvudvudvudvTdvUdvNdvNdvTdvudvudvQaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvVdtEdtEdvWdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEduMdtBdtsdvjdtsdvXdvudvudvTdvTdvTdvudvudvYdtBaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtBdvZdwadwbdwcdwddwedwfduMdtBduodtEdtEdtEdtEdtEdtEduMdtsdtsduodwgduMdtsdtsdtsdtBdtYaaaduqdtsdvXdvudvudvudvudvudvYdtsdtYaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsduodtEdtEduMdtsdtsdtsdtsdtsdwhdtsdtsdtsdtsdtBaaaaaaaaaduqdtsdvXdvudvudvudvYdtsdtYaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidwjdwkdwldwmdwndwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdtsdwodwodtBaaadtBduWdwpduWduWduWdwpduWdtBdtBaaaaaaaaaaaaduqdtsdvjdvjdvjdtsdtYaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwqdwrdwsdwtdwudwvdwwdwrdwqdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtsdtsdtsdtsdtsdtsdtsdtsdvwdtEdtEdtBaaadtBdwyduWduWdwzduWduWdwAdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwrdwBdwCdwtdwudwvdwDdwEdwrdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaadtBduWdwzduWduWduWdwzduWdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwGdwrdwGdwtdwudwvdwGdwrdwGdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaadtBdwHduWduWdwzduWduWdwIdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwJdwrdwrdwtdwudwvdwrdwrdwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdttdttdttdttdttdttdttdttdttduodtEdtEdtBaaadtBdwLduWduWduWduWduWdwMdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwNdwOdwOdwtdwudwvdwPdwPdwQdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaduqdtsdwRdwSdwTdwSdwUdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwudwudwudwudwudwudwudwudwudwudwidwidwldwidwidwudwidwidwldwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaduqdtsdwVdwWdwXdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwidwidwidwidwYdwidwidwidwudwudwudwudwudwudwidwudwidwudwudwudwudwudwudwudwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaadwZdxadxbdxcdwZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwidxddxedxedxedxedxfdwidwidwidwidwidwidwidwidxgdwidwidwidwidwidwidwidwidwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaduqdtsdtsdxhdtsdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwidxddxedxedxedxedxfdwidxidxjdxkdxjdxldxmdxmdxmdxmdxmdxldxmdxldxmdxndwidwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaduqaaaaaaaaadtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwidxodxedxedxedxedxpdwidxmdxqdxqdxqdxqdxqdxmdxmdxmdxqdxqdxqdxqdxrdxsdwidwudwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaadwidwudwidxodxtdxudxudxedxedxvdxmdxmdxwdxxdxwdxmdxmdxmdxmdxmdxwdxxdxwdxydxmdwidwudwudwudwudwudwudwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwidwudwidwidwidwidwidwidwidwidxmdxqdxqdxqdxqdxqdxmdxmdxmdxqdxqdxqdxqdxzdxmdwidwidwidwidwidwidwidwudwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdttdtsdxAdtsdttdtsdxBdtsdttdvwdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwudwidwidxCdxCdxCdxCdxCdwidxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxEdxDdwidxFdxFdxFdxFdxFdwidwudwudwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidwidwidxGdxGdxGdxGdxGdwidxHdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxHdwidxGdxGdxGdxGdxGdwidwidwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEduMdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidxKdxLdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdtsdtsdtsdtsdtsdtsdttdxSdttdtsdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidxKdxLdxMdxTdxMdxTdxMdxNdxOdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxPdxNdxQdxUdxQdxUdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdxVdtEdtEdtEdxWdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidxKdxLdxMdxMdxXdxMdxMdxNdxOdxIdxIdxIdxIdxIdxYdxZdxYdxIdxIdxIdxIdxJdxPdxNdxQdxQdyadxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidxKdxLdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdybdycdybdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdyddtEdtEdtEdyedtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidxKdxLdxMdxTdxMdxTdxMdxNdxOdxIdxIdxIdxIdxIdyfdygdyhdxIdxIdxIdxIdxJdxPdxNdxQdxUdxQdxUdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdyidtEdtEdtEdyjdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidwrdykdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdxIdyldxIdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdykdwrdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtBdymdyndyodypdyqdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwJdwidyrdwidysdysdysdysdysdwidxHdxIdxIdxIdxIdxIdxIdyldxIdxIdxIdxIdxIdxJdxHdwidysdysdysdysdysdwidyrdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdttdttdttdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwNdytdwrdwidyudyudyudyudyudwidxDdxDdxDdxDdxDdxDdyvdywdyvdxDdxDdxDdxDdxEdxDdwidyxdyxdyxdyxdyxdwidwrdyydwQdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqaaaaaaaaadtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaadwidwidwidwrdwidwidwidwidwidwidwidyzdyAdyAdyAdyAdyAdyBdyCdyzdyAdyAdyAdyAdyDdyzdwidwidwidwidwidwidwidwrdwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaadwidwrdwrdwudwudwudwudwudwidyzdyzdyEdyzdyEdyzdyzdyFdyGdyzdyEdyzdyEdyHdyzdwidwudwudwudwudwudwrdwrdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaadwidwidwidwidwidwidwidwudwldyzdyzdyzdyIdyIdyIdyzdyzdyzdyIdyIdyIdyIdyIdyzdwldwudwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidyJdyJdyJdyKdyLdyMdyNdyzdyOdyPdyQdyRdySdyTdyUdwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidwidwidwidwidwidwidwidwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
-(1,1,3) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdyXdyXdyXdyXdyYdyZaaaaaaaaaaaaaaaaaaaaadyWdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdyXdzadzbdzbdzcdzddzedzfdyYdyZaaaaaaaaaaaadyWdzfdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzhdzidzbdzbdzbdzbdzbdzbdzjdzedzkdyZaaaaaadyWdzldzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzkdzfdzodzbdzbdzbdzbdzpdzbdzbdzbdzqdzkdyZdyWdzldzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzkdzadzsdzedyXdyYdztdzudzvdyXdyXdzwdzfdzfdzfdzhdzrdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzqdzadzbdzxdzbdzydzzdzAdzbdzBdzbdzbdzbdzbdzbdzbdzCdzrdzDdyXdzEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzzdzbdzbdzbdzbdzydzzdzbdzbdzbdzbdzbdzbdzbdzbdzbdzqdyXdzkdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzFdzbdzbdzbdzbdzGdzzdzbdzbdzHdzIdyXdyXdzodzbdzJdzzdzKdzedzfdyYdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzbdzbdzbdzbdzbdzzdzbdzbdzzdzbdzMdzNdzzdzbdzbdzzdzbdzbdzbdzedzkdyZaaadyWdyYdyXdyXdyXdyXdyXdyXdyXdyYdyZaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzOdzydzbdzbdzbdzPdzbdzbdzzdzQdzRdzJdzzdzbdzbdzSdzbdzbdzbdzbdzedzkdyXdzkdzadzbdzbdzbdzTdzbdzbdzbdzedzhaabaaaaaadzUdzVdzWdzWdzWdzWdzWdzWdzWdzVdzXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzYdzZdzbdzbdzbdzIdzbdzbdzzdzbdzbdzbdzzdzbdzbdAadzbdzbdzbdzbdzbdAbdzbdAbdzbdzbdzbdzbdzbdzbdzbdzbdzbdAbaabaaaaabdAcdAddAedAedAedAedAedAedAedAfdAgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzydzydzbdzbdzbdzPdzbdzbdzzdAhdAidzbdzzdzbdzbdzSdzbdzbdzbdzbdzHdzkdyXdzkdzodzbdzbdzbdzbdzbdzbdAjdzHdzhaabaabaabdAkdAedAedAedAedAedAedAedAedAedAkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzbdzbdzbdzbdzbdzzdzbdzbdzedyXdyXdzIdzadzbdzbdzzdzbdzbdzbdzHdzkdAlaaadAmdzfdyXdyXdyXdyXdyXdyXdyXdzfdAlaaaaaaaabdAcdAndAedAedAedAedAodAedAedApdAgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAqdzbdzbdzbdzbdArdzqdzodzbdzbdzbdzbdzbdzbdzbdzbdzzdzbdzbdyYdzfdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadAsdAtdzWdzWdzWdzWdzWdzWdzWdAtdAuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzzdAvdAwdAxdzbdzHdzkdzfdyXdyXdyYdzodzbdzbdzbdzbdzqdyXdzkdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzqdzodAydAzdzHdzkdzadAAdABdACdzedzhdADdzbdzBdAEdzCdzrdAFdyXdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdzfdyYdyXdzkdzadzbdzbdzbdzbdzbdzzdzbdzbdzHdyYdzhdzrdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAGdAHdAIdzbdzbdzbdzbdzbdzbdAJdAKdzHdzkdAldAmdALdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdyXdzhdAMdzbdzbdzbdzbdzbdzqdyYdzkdAlaaaaaadAmdALdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdyYdzodzbdANdAOdzHdzkdzfdAlaaaaaaaaaaaadAmdyYdzEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdzfdyXdyXdyXdzfdAlaaaaaaaaaaaaaaaaaaaaadAmdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPdAQcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabaabaacaacaacaacaacaacaacaabaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaacaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvdARcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaidASdASdASdASdASdASdASdASdASaaiaaiaaiaaiaaiaaiaaiaaiaaidATdATdATdATdATdATdATdATaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaiaaidASdAUdAVdAWdAXdAYdAZdBadBbdASdATdATdATdATdATdATdATdATdBcdATdBddBedBfdBgdBhdBidATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAUdAUdAUdBjdBkdBldBmdBndBodBpdATdBidBqdBrdBsdBidBtdATdBudATdBvdBidBidBidBidBidATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdBxdBydBmdBzdBAdBBdATdBCdBidBDdBidBidBEdATdBudATdBFdBidBidBidBidBidATaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdAVdBGdBHdBIdBJdBKdBLdBMdBNdBOdBidBidBPdBQdATdBRdATdBSdBTdBidBUdBVdBWdATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdBXdBYdBZdCadCadCadCbdCcdCddCedCfdCgdChdChdChdATdCidCjdBidCkdCldCmdCnbosbosdCodCpdCqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaidASdAVdAUdAVdBwdCrdCsdCtdCudCudCudATdCvdCwdCxdBidCydCzdCAdChdATdATdCBdCCdATdATdATdATaaiaaicrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcrvaaidASdAUdCDdAUdCEdCrdBpdChdChdChdChdChdCFdCGdCHdCGdCIdCJdCKdCLdChdChdCMdCNdCOdAUdCDdAUdASaaicrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaaaaacrvaaidASdAVdAUdAVdBwdCPdCQdChdCRdCRdCRdCSdCTdCUdCVdCRdCRdCWdCXdCRdCRdChdCMdCNdBBdAVdAUdAVdASaaicrvcrvaaaaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaacrvaaidASdAVdAUdAVdBwdCYdCZdChdCRdCXdCXdCXdDadCXdDbdCXdCXdDadCXdCXdCRdChdCMdCNdBBdDcdDddDedASaaiaaicrvaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaacaaacrvaaidASdAVdAUdAVdBwdDfdDgdChdCRdDhdCXdCXdDadCXdDidCXdCXdDadDjdDkdCRdChdCMdCNdBBdDldDmdDndDodASaaicrvaaaaacdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacdDpcrvaaidASdAVdAUdAVdBwdDqdDrdChdCRdCXdCXdCXdDadDsdDidDtdCXdDadCXdCXdCRdChdDudDvdDwdDxdDydDzdDAdASaaicrvdDBaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacanedARaaidASdAUdAUdAUdCEdDCdDDdChdDEdDFdDGdDHdCWdCRdDIdCRdCRdDJdDKdDLdDMdChdDNdDOdDPdDQdDzdDzdDRdASaaidARaneaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacaaacrvaaidASdAVdAUdAVdBwdDCdBBdChdCRdDSdDTdCXdDadDUdDidDVdCXdDadDWdDXdCRdChdBwdDqdDYdDZdDzdEadEbdASaaicrvaaaaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaacaaacrvaaidASdAVdAUdAVdBwdDqdBBdChdCRdCXdCXdCXdDadCXdDidCXdCXdDadCXdCXdCRdChdBwdDqdBBdEcdEddEedEfdASaaicrvaaaaacdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaacrvaaidASdAVdAUdAVdBwdCrdBBdChdCRdEgdEhdEidEjdCXdDbdCXdCXdDadEkdEldCRdChdBwdDqdBBdEmdEndEodASaaiaaicrvaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaaaaacrvaaidASdAVdAUdAVdBwdCrdBBdChdCRdCRdCRdEpdCRdCRdEqdCRdCRdErdCRdCRdCRdChdBwdDqdBBdAVdAUdAVdASaaicrvcrvaaaaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaidASdAUdCDdAUdCEdDqdBpdChdChdChdChdChdChdChdEsdChdChdChdChdChdChdChdCEdDqdBpdAUdCDdAUdASaaicrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvaaidASdAVdAUdAVdBwdEtdEudEvdBLdBLdEwdExdEydEzdEAdEBdECdEDdEwdBLdBLdEEdEFdDqdBBdAVdAUdAVdASaaicrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdEGdEHdEHdEHdEHdEIdEJdEKdELdEMdENdEOdEPdEQdEHdDPdEHdEHdERdBBdAVdAUdESdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdETdAUdAVdAVdCudCudEUdCudCudEwdEVdEWdEXdEMdEYdEZdFadEwdCudCudCudCudCudAVdAVdAUdAVdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdAVdAVdAVdAUdAVdFbdEwdEwdEwdFcdFddEwdEwdEwdEwdFbdAVdAVdAVdAVdAVdAVdAUdAVdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAUdAUdAUdAUdAUdAUdAUdAUdFedFfdFgdFhdFidFjdFkdFldFmdFndFodAUdAUdAUdAUdAUdAUdAUdAUdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaiaaidASdAUdAVdAVdAVdAVdAVdASdFbdFpdFqdFrdFsdFtdFudFvdFudFwdFbdASdAVdAVdAVdAVdAVdAUdASaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaidASdASdASdASdASdASdASdFbdFbdFbdFbdFxdFydFzdFbdFbdFbdFbdASdASdASdASdASdASdASaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaidFbdFAdFBdFCdFbaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvdFbdFbdFDdFEdFFdFbdFbcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaacaaccrvcrvdFbdFbdFGdFHdFIdFudFJdFbdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdFbdFbdFKdFLdFMdFmdFmdFmdFmdFNdFbcrvaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacdFOdFPdFQdFRdFSdFmdFmdFTdFmdFmdFUdFbcrvaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacdFVdFzdFbdFbdFWdFXdFmdFmdFmdFmdFNdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaacaaccrvcrvdFbdFbdFYdFZdFZdFZdGadFbdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvdFbdFbdGbdGcdGddFbdFbcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvdFbdFbdFbdFbdFbcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaacrvcrvcrvdARcrvcrvcrvaaacrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaacaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaabaacaacaacaacaacaacaacaabaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvdGedAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGgdGgdGgdGgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGgdGgdGhdGidGjdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGgdGgdGkdGjdGldGjdGmdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGndGjdGodGpdGjdGjdGqdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGjdGjdGjdGrdGrdGrdGjdGjdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGjdGrdGrdGpdGrdGpdGsdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGgdGgdGtdGudGpdGrdGvdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGgdGgdGjdGrdGjdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGgdGjdGgdGgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
-(1,1,4) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwaabaabdGwdGwaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGwdGwaaaaaadGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGxdGxdGwdGwaaaaabaaaaaaaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaadGwdGwdGxdGxdGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGzdGAdGAdGzaaaaaaaabaaaaaadGzdGAdGAdGzaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGzdGzaabaabaabdGzdGzdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGBdGzdGAdGAdGAdGzdGBdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGwdGwdGwdGwdGCdGwdGwdGwdGwdGzdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGzdGwdGwdGwdGwdGCdGwdGwdGwdGwdGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGydGydGydGydGydGydGydGydGydGydGDdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGDdGydGydGydGydGydGydGydGydGydGydGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGydGydGwdGwdGwdGwdGwdGwdGwdGzdGzdGBdGBdGBdGBdGBdGBdGBdGBdGBdGzdGzdGwdGwdGwdGwdGwdGwdGwdGydGydGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGzdGzdGBdGBdGBdGBdGBdGBdGBdGzdGzdGEdGEdGEdGEaacdGEaacdGwdGwdGydGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGzdGzdGBdGBdGBdGBdGBdGzdGzdGEdGEdGEaacdGEaacdGEaacdGEdGwdGwdGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGzdGzdGFdGFdGFdGzdGzdGEdGEdGEdGEdGEdGEdGEdGEaacdGEaacdGwdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEaacdGEdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGwdGydGCdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGCdGydGwaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaabdGIdGIdGIdGIdGJdGIdGIdGIdGKdGIdGGdGGdGGdGGdGGdGIdGKdGIdGIdGIdGLdGLdGLdGIdGIdGIdGMdGIdGGdGGdGGdGGdGGdGIdGNdGIdGIdGwdGCdGwdGIdGIdGIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGHdGNdGNdGHdGNdGNdGydGydGydGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGHdGHdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGHdGHdGHdGNdGNdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaaaaabdGGdGHdGHdGHdGHdGIdGIdGIdGIdGJdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGHdGHdGHdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGJdGIdGIdGIdGIdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaabdGIdGIdGHdGHdGIdGIdGydGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGHdGIdGydGydGydGydGydGydGydGydGydGydGydGydGydGIdGIdGNdGNdGIdGIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaabaabaabdGGdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGNdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGydGIdGNdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGNdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaabaabaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGOdGIdGHdGHdGHdGIdGOdGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGQdGPdGPdGRdGHdGHdGHdGSdGPdGPdGTdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaaaaabdGGdGHdGHdGIdGydGUdGPdGPdGPdGPdGPdGPdGPdGPdGPdGQdGPdGPdGRdGHdGHdGHdGSdGPdGPdGTdGPdGPdGPdGPdGPdGPdGPdGPdGPdGUdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaabaabaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGOdGIdGHdGHdGHdGIdGOdGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGJdGHdGHdGHdGJdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGIdGHdGHdGHdGIdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaaaaaqaabaabaaqaaaaabaabaabdGGdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGIdGHdGHdGHdGHdGHdGIdGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaaqaabaabaaqaaadGwdGwdGIdGIdGHdGHdGIdGIdGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGHdGHdGHdGIdGydGydGydGydGydGydGydGydGydGydGydGydGIdGIdGHdGHdGIdGIdGwdGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGVdGVdGVdGVdGVdGwdGwdGydGIdGNdGHdGHdGNdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGHdGHdGHdGHdGHdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGNdGHdGHdGNdGIdGydGwdGwdGVdGVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdGWdGWdGWdGWdGXdGWdGWaabaabaabaabaabdGVdGWdGWdGWdGWdGydGydGydGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGHdGNdGNdGHdGNdGHdGHdGHdGHdGHdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGWdGWdGWdGWdGydGydGydGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGYdGWdGXdGXdGXdGWdGXdGXdGXdGWdGXdGWdGXdGWdGXdGWdGWdGWdGWdGWdGWdGVdGWdGWdGWdGWdGwdGydGydGIdGHdGHdGHdGHdGIdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGIdGIdGIdGHdGHdGHdGIdGIdGIdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGIdGNdGNdGHdGNdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGXdGXdGXdGXdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGVdGWdGWdGWdGWdGwdGydGydGIdGIdGNdGNdGIdGIaabaabaabaabaabaabaabaabaabaabaabdGwdGydGJdGHdGHdGHdGJdGydGwaabaabaabaabaabaabaabaabaabaabaabdGIdGIdGNdGHdGIdGIdGydGydGwdGWdGXdGWdGXdGYdGYdGYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGYdGYdGYdGYdGXdGXdGXdGVdGXdGXdGXdGVdGVdGVdGXdGXdGVdGVdGVdGVdGVdGVdGWdGWdGWdGWdGwdGydGydGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGwdGwdGwdGwdGwdGydGIdGHdGHdGHdGIdGydGwdGwdGwdGwdGwdGwaabaaaaabaaaaabaaaaabdGGdGNdGHdGIdGydGydGydGwdGWdGWdGWdGWdGXdGWdGXaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGVdGZdGZdGZdGZdGwdGwdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGydGydGydGydGydGydGIdGHdGHdGHdGIdGydGydGydGydGydGydGwaabaaaaabaaaaabaaaaabdGGdGNdGHdGIdGydGwdGwdGwdGVdGVdGVdGVdGWdGWdGWaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabaabaabaabaabaabaabdGwdGydGydGydGydGIdGIdGIdGHdGHdGHdGIdGIdGIdGydGydGydGydGwaabaabaabaabaabaabaabdGGdGNdGNdGIdGydGwdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGXdGWdGXdGXdGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGydGIdGIdGIdGIdGNdGNdGHdGHdGHdGNdGNdGIdGIdGIdGIdGydGwaabaaaaabaaaaabaaaaabdGGdGNdGNdGIdGydGwdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaabaabdGIdGJdGIdGNdGNdGNdGNdGNdGHdGHdGHdGNdGNdGNdGNdGNdGIdGJdGIaabaabaabaaaaabaaaaabdGGdGHdGNdGIdGydGwdGXdGWdGXdGWdGXdGWdGXdGWdGXdGXdGWdGWdGWdGXdGXdGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHadHadHadHadHadHadHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabaabaabaabaabaabdGIdGIdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGNdGIdGIaabaabaabaabaabaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHcdHbdHddHbdHaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabdGwdGwdGwdGwdGIdGIdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGIdGIdGwdGwdGwdGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdHadHbdHedHbdHfdHbdHaaabaabaaaaaadHgdHgdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGydGJdGNdGNdGHdGHdGHdGHdGHdGIdGIdGIdHhdGIdGIdGIdGHdGHdGHdGHdGNdGNdGNdGJdGydGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdHadHbdHedHbdHfdHbdHaaabaabaabaaadHidHjdHkdHldHiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGIdGNdGNdGHdGHdGHdGIdGIdGIdHmdHndHodHndHmdGIdGIdGIdGHdGHdGHdGNdGNdGIdGIdGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHadHbdHedHbdHfdHbdHaaabaabaabaabdHpdHldHldHldHpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGNdGNdGNdGHdGHdGIdGIaabaabdHmdHndHodHndHmaabaabdGIdGIdGHdGHdGHdGNdGNdGIdGydGydGwaabdGGdGNdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHadHadHadHadHadHgdHqdHrdHgdHsdHtdHgdHadHadHadHadHgdHgdHudHgdHgaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaacaabaacaacaabaabaacaabaabaacdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGNdGHdGHdGHdGIdGIaabaabaabdHmdHndHodHndHmaabaabaabdGIdGIdGNdGHdGNdGNdGIdGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdHidHldHvdHwdHxdHydHidHbdHbdHbdHbdHgdHzdHldHAdHBdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaacaabaabaacaacaacaacaacaacaacaacaacaacaacdGwdGydGIdGHdGHdGIdGwdGwdGydGIdGIdGNdGHdGHdGHdGIaabaabaabdHmdHmdHmdHCdHmdHmdHmaabaabaabdGIdGNdGNdGHdGNdGIdGIdGydGwdGwdGIdGNdGHdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHDdHEdHEdHEdHpdHFdHGdHHdHIdHJdHpdHKdHKdHKdHLdHgdHzdHldHldHldHMdHNdHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacdGwdGydGIdGHdGHdGIdGydGydGydGIdGNdGNdGHdGHdGIdGIaabaabdHmdHmdHPdHPdHndHPdHPdHmdHmaabaabdGIdGIdGNdGHdGNdGNdGIdGydGydGydGIdGNdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdHgdHQdHldHRdHldHSdHgdHbdHbdHbdHbdHgdHTdHldHldHUdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaabaabaaqaaqaaqaaqaaqaabaacaabaacaabaacaabaacaabaacdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGydGIdGHdGHdGIdGJdGIdGIdGIdGNdGNdGNdGNdGIdHmdHmdHmdHmdHndHPdHndHndHndHPdHndHmdHmdHmdHmdGIdGNdGNdGHdGNdGIdGIdGIdGJdGIdGNdGNdGIdGwdGwaaqaaqaaqaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHVdHWdHWdHWdHXdHxdHldHSdHldHYdHXdHZdHZdHZdHcdHgdIadHldHldHldIbdHNdIcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaabaacaacaacaacaacaacaacaacaacaacaacaacaacdGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGNdGNdGNdGNdGNdGNdGHdGNdGNdGIdHndHndHndHmdHPdHPdHndHodHndHPdHPdHmdHndHndHndGIdGNdGNdGHdGNdGNdGNdGNdGHdGNdGNdGHdGIdGydGyaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdIddIedIfdHxdHldIgdIddHbdHbdHbdHbdHgdIhdHldHldIidHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaacaacaacaacaacaabaabaacaacaabaacaabaacaabaacaabaacaabaacdIjdGydIjdGydGydGydGydGydGydGydGydGydGIdGNdGNdGNdGNdGNdGNdGNdGHdGNdGNdGNdIkdHodHodHodIldHndHndHndHodHndHndHndImdHodHodHodIndGHdGNdGHdGHdGHdGHdGHdGHdGNdGNdGNdGIdGydGyaacaacaacaacaacaacaacaacaacaabaacaabaacaabaacaacaacaabaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdHgdHgdHgdHgdHgdHgdIodHgdHgdHgdHgdHgdHgdHgdHgdIpdHldHldHldIqdHNdIraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacaacaacaacaacaacaacaabaacaabaacaacaacaacaacdGydGydGydIjdGydGydGydGydGydGydGydGydGIdGHdGHdGNdGHdGHdGHdGHdGHdGHdGHdGHdGIdHndHndHndHmdHPdHPdHndHodHndHPdHPdHmdIsdIsdIsdGIdGNdGNdGHdGNdGNdGNdGNdGNdGNdGHdGHdGIdGydGyaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdItdIudIvdIwdIwdIvdItdIxezEdIzdIAdIBdHudICdHldHldICdHudHldHldIDdHldHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaabaabaabaabaabaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGIdGHdGHdGIdIEdGIdGIdGIdIFdGNdIFdGNdGIdHmdHmdHmdHmdHndHPdHndHndHndHPdHndHmdHmdHmdHmdGIdGNdGNdGHdGNdGIdGIdGIdGJdGIdGNdGHdGIdGwdGwaaqaaqaaqaaqaaqaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIudIvdIudIudIvdIGdIzdIzdIzdIzdIzdHgdHgdHgdHgdHgdHgdHgdHgdHgdHgaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGwdIjdIHdIIdIIdIHdGydGydGydIHdIJdIJdIJdIJdIHdIHaabaabdHmdHmdHPdHPdHndHPdHPdHmdHmaabaabdIHdIHdIJdIJdIJdIJdIHdGydGydGydIHdIIdIIdIJdGydGwaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIKdIvdIudIudIvdIGdILdIMdILdIzdIzdINdIOdIPdIQdIRdISaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIIdIHdGwdGwdGydIHdIHdIJdITdIJdITdIHaabaabaabdHmdHmdHmdHCdHmdHmdHmaabaabaabdIHdIJdIJdIIdIJdIHdIHdGydGwdGwdIHdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIUdIvdIVdIVdIvdIWdILdILdIXdIzdIzdIYdIOdIOdIOdIZdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIIdJbaabdGwdGydGydIHdIJdIJdIJdIJdIHdIHaabaabaabdHmdHndHodHndHmaabaabaabdIHdIHdIJdIJdIIdIJdIHdGydGydGwaabdJbdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIWdJcdJddIvdIvdIvdJedIzdIzdIzdIzdIzdISdIOdIOdIOdJfdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdIjdIHdIIdIIdJbaabdGwdGydGydIHdIJdITdIJdITdIJdIHdIHaabaabdHmdHndHodHndHmaabaabdIHdIHdIJdIJdIJdIJdIJdIHdGydGydGwaabdJbdIJdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHgdJgdHgdHgdHgdJhdHgdIzdIzdIzdIzdJidJadIOdIOdIQdIRdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabdGwdGydGydIHdIHdIJdIJdIJdIJdIJdIHdIHdIHdHmdHndHodHndHmdIHdIHdIHdIJdIIdIIdIIdIJdIHdIHdGydGydGwaabdJbdIJdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcyPaabaabdHgdJjdHgdHgdJkdIzdIzdIzdJadIOdIOdIOdIZdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabdGwdGydGydGydJldITdIJdITdIJdITdIJdIIdIHdIHdIHdJmdIHdIHdIHdIJdIJdIIdIIdIIdIJdIJdJndGydGydGydGwaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaabaabdHgdJodJpdHgdJqdIzdIzdIzdIddJrdJsdJtdJfdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdIjdIHdIIdIJdJbaabdGwdGwdGwdGwdIHdIHdIJdIJdIJdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIJdIJdIHdIHdGwdGwdGwdGwaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaaaaabdHgdHgdHgdHgdHgdHgdIzdIzdHgdHgdHgdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaabaabaabaabaabdIHdIHdITdIJdITdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIJdIJdIHdIHaabaabaabaabaabaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczZaaaaaaaabaabaabaabaabdHgdIzdIzdHgaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaaaaabaaaaabaabaabdIHdJndIHdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdJndIHaabaabaabaaaaabaaaaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHgdIzdIzdHgaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdGwdIjdIHdIIdIIdJbaabaaaaabaaaaabaaaaabdGwdGydIHdIHdIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdIHdIHdGydGwaabaaaaabaaaaabaaaaabdJbdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHgdIzdJudHgaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaabaabaabaabaabaabdGwdGydGydGydGydIHdIHdIHdIIdIIdIIdIHdIHdIHdGydGydGydGydGwaabaabaabaabaabaabaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJvdJwdJwdJwdJwdJwdJwdJxdJydHgdJzdJAdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIJdIJdJbaabaaaaabaaaaabaaaaabdGwdGydGydGydGydGydGydIHdIIdIIdIIdIHdGydGydGydGydGydGydGwaabaaaaabaaaaabaaaaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJBdJCdJDdJEdJDdJEdJFdJGdJHdHgdJIdJJdHgaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdIjdIHdIJdIJdJbaabaaaaabaaaaabaaaaabdGwdGwdGwdGwdGwdGwdGydIHdIIdIIdIIdIHdGydGwdGwdGwdGwdGwdGwaabaaaaabaaaaabaaaaabdJbdIJdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJKdJLdJDdJEdJDdJEdJDdJEdJMdJNdJOdJPdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGwdIHdIHdIJdIJdIHdIHaabaabaabaabaabaabaabaabaabaabaabdGwdGydJndIIdIIdIIdJndGydGwaabaabaabaabaabaabaabaabaabaabaabdIHdIHdIJdIJdIHdIHdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJQdJRdJDdJEdJDdJEdJDdJSdJTdHgdJUdJVdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIHdIHdIIdIIdIIdIHdIHdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJWdJwdJwdJwdJwdJwdJwdJxdJydHgdHgdHgdHgaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIIdIJdIJdIJdIJdIJdIJdIJdIJdIJdIIdIIdIIdIJdIIdIIdIJdIIdIIdIIdIJdIJdIJdIIdIIdIIdIIdIJdIIdIJdIJdIIdIIdIIdIJdIIdIIdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabdJXaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIJdIIdIIdIIdIIdIIdIIdIJdIIdIIdIIdIIdIJdIJdIIdIIdIIdIIdIJdIJdIIdIIdIJdIJdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIJdIJdIIdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIHdIHdIHdIHdIHdJYdJYdJYdJYdJZdJYdKadJYdKadJYdKadJYdIHdIIdIIdIIdIIdIJdIHdKbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKbdKbdIHdIHdIIdIIdIHdIHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddKddJYdJYdJZdJYdJYdJYdJYdJYdJYdJYdIHdIJdIJdIJdIJdIJdIHdKcdKcdKbdKbdKbdKcdKcdKcdKcdKcdKbdKbdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddJYdKddKddJZdJZdJZdJZdJZdJZdKedKedIHdIHdIHdIHdIHdIHdIHdKcdKcdKbdKbdKbdKcdKcdKcdKcdKcdKbdKcdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddKddKddKddJZdJYdJYdKddKddKddJYdJYdJYdJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKbdKbdKcdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKddKddKddKddKddKddJYdKddKddKddKddJYdKddKddJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKbdKbdKcdKbdIHdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKddKddKddKddKddKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKfdKddKddKddKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKbdKbdKcdKcdKbdKbdKbdKbdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddKfdKddKhdIJdIJdIJdKidKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKddKfdKfdKfdKddKfdKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddKfdKddJbdIJdIJdIJdJbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKddKfdKddKfdKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKcdKbdKbdKcdKcdKcdKcdKcdKbdKcdKbdKbdKbdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddJbdIIdIIdIIdJbdKbdKbdKbdKbdKcdKcdKcdKcdKbdKbdKbdKbdKbdKbdIHdIJdIJdIHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKfdKfdKfdKfdKddKddKddKddIHdIHdIHdIIdIIdIIdIHdIHdIHdKbdKbdKcdKcdKcdKcdKbdKbdKbdKbdKbdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadITdITdITdKjdKgdKfdKgdKfdKgdKfdKgdKgdKgdKfdKfdIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdKcdKcdKcdKcdKcdKbdKbdKbdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdITdITdITdKfdKfdKfdKfdKfdKfdKfdKfdKfdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKldKmdKndKodKpdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdITdITdKjdKgdKgdKgdKgdKgdKgdKgdKgdKgdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKbdKbdKbdKqdKldKrdKsdKtdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKddKgdKgdKddKddKddKddKddKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKbdKbdKbdKbdKbdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKddKgdKddKgdKddKfdKddKfdKddKfdKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKcdKcdKcdKvdKwdKndKxdKydIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKgdKgdKgdKddKddKddKddKddKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKcdKcdKcdKcdKvdKrdKzdKAdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKgdKgdKgdKgdKgdKgdKgdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKcdKcdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKBdKfdKfdKfdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKvdKDdKndKEdKFdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKGdKGdKGdKGdKHdKCdKgdKfdKgdKddKddIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdKkdKkdKcdKcdKIdKvdKcdKvdKrdKJdKKdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKHdKGdKHdKBdKHdKHdKCaaaaabaaadKHdKGdKHdIHdIHdIHdIIdIIdIIdIHdIHdIHaabaabdKkdKkdKkdKkdKkdKkdKkdKkdKkdKkdIHdIJdIJdJbaacaabaacaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKGdKGdKGdKGdKLdKCaabaabaabdKGdKGdKGdKGdKGdIHdIIdIIdIIdIHdKHdKHdKGdKGdKHdKGdKHdKGdKGdKGdKGdKHdKGdKHdIJdITdITdIJaabaabaabaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKLdKGdKGdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIHdIJdIIdIIdIHdKHdKGdKGdKGdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHdKHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdKGdKGdKGdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIHdIJdIJdIIdIHdKHdKGdKGdKGdKBdKGdKGdKGdKGdKGdKGdKHdKHdKHdKHdKHdKHdKHdKHdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKGdKGdKGdKGdKGdKGdKLdKLdKLdKLdKCaabaabaabdKHdKGdKHdKGdKHdIHdITdIJdIIdIHdKGdKGdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKLdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIJdIJdIJdIIdIHdKGdKGdKHdKHdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKGdKGdKLdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIJdITdIJdIIdIHdKHdKHdKHdKHdKBdKHdKGdKHdKGdKHdKGdKHdKGdKHdKGdKHdKGdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdKGdKGdKLdKLdKLdKLdKLdKCaabaabaabdKGdKGdKGdKGdKGdIJdIJdIJdIIdIHdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKBdKBdKBdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKBdKGdKGdKGdKLdKLdKLdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIJdIJdIIdIJdIHdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKGdKHdKGdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKHdKGdKGdKLdKLdKLdKLdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIHdIIdIJdIJdIHdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKBdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKBdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKBaabaabaabdKHdKGdKHdKGdKHdIHdIIdIJdIJdITdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKHdKHdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdIHdIIdIJdIJdITdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdIHdIIdIIdIJdIHdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKHdKHdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKBdKBdKBdKBdKMdKMdKMdKMdKMdKMdKMdKMdKMaaaaaaaaaaabdIHdIIdIIdIIdIHdKHdKHdKGdKGdKBdKGdKGdKBdKGdKHdKGdKMdKHdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKGdKGdKHdKBdKBdKBdKBdKMdKMdKMdKMdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKBdKGdKGdKHdKGdKGdKGdKGdKHdKGdKHdKGdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadKMdKMdKGdKHdKGdKHdKGdKHdKBdKBdKBdKBdKMdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKBdKBdKHdKGdKHdKGdKGdKHdKHdKGdKBdKGdKGdKBaaaaaaaaaaabdIHdIIdIIdIIdIHdKMdKMdKHdKGdKBdKBdKBdKBdKBdKBdKGdKBdKBdKBdKBdKBdKBdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadKMdKBdKGdKGdKGdKGdKHdKGdKHdKGdKHdKHdKGdKGdKBaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaadKMdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBaaaaaaaaaaaadIHdIIdIIdIIdIHdKMdKMdKHdKGdKGdKGdKGdKHdKGdKGdKHdKGdKHdKGdKHdKGdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKBaaaaaaaaaaabdIHdIIdIIdIJdIHdKHdKHdKHdKGdKGdKMdKHdKMdKMdKHdKMdKMdKHdKMaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKMaaaaaaaaaaaadIHdIIdIIdIJdITdKMdKMdKMdKGdKHdKHdKHdKHdKHdKHdKHdKHdKHdKHaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKMaaaaaaaaaaaadIHdIIdIIdIIdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadKBdKBdKBdKBdKHdKGdKHdKGdKHdKGdKGdKGdKBdKBdKMaaaaaaaaaaabdIHdIIdIIdIJdITaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKMdKBdKBdKBdKBdKHdKGdKHdKGdKHdKBdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKHdKMdKMdKMdKBdKBdKBdKBdKHdKGdKBdKMdKMaaaaaaaaaaaadIHdIIdIIdIJdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKMdKMdKMdKMdKMdKMdKMdKBdKBdKBdKBdKMdKMaaaaaaaaaaabdIHdIIdIIdIJdITaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIHdIIdIIdIJdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIHdIIdIIdIJdIHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdIHdIIdIIdIJdIHaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKHdKBdKHdKHdKBdKBdKBdKBdKBdKBdKBdIHdIIdIIdIJdIHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKNdIJdIIdIIdIJdIJdKNdKGdKGdKGdKGdKGdKHdKHdKHdKGdKHdKHdKGdKHdKGdKHdKHaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabdKHdKHdKHdKHdKBdKBdKBdKBdKBdKBdKBdKBdKBdIHdIIdIIdIJdIHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHdKHdKHdKHdKHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdIHdKOdKPdKOdIHaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdKOdKQdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKBdKHdKHdKHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKOdKOdKOdKPdKOdKOdKOdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBaaqaaqaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdKHdKHdKHdKHdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKRdKQdKQdKQdKQdKQdKRdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGaacaacaacaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKOdKOdKOdKOdKOdKOdKOdKOdKPdKOdKOdKOdKOdKOdKOdKOdKOdKBdKBdKBdKBdKBaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdKSdKSdKOdKQdKOdKQdKQdKRdKQdKQdKQdKQdKQdKRdKQdKQdKOdKQdKOdKSdKSaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKOdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKQdKQdKQdKQdKOdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKOdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKOdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKOdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKWdKXdKYdKZdKZdLadLbdLcdLddLeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdLfdLcdLddLddLgdLhdLcdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLidLddLddLjdKVdLddLddLkdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLldLddLmdLndKVdLcdLddKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLodLpdLddKVdKVdLddLddKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLqdLrdLddKVdKVdLsdLsdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKOdKOdLtdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLudKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdKQdKQdKQdKQdKQdKQdKQdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdLvdLwdKQdKQdKQdLxdLvdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdLvdLwdKQdKQdKQdLxdLvdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdKQdKQdKQdKQdKQdKQdKQdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKOdKOdKOdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKOdKOdKOdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKTdKQdKQdKQdKQdKOdKOdKUdKUdKUdKOdKOdKQdKQdKQdKQdKTdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaabaabaacaabaabaabaacaabaabaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacdLyaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaaaaabaacaabaaaaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacaacaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaaaaabaacaabaaaaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaabaabaabaacaabaabaabaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacdLyaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
-(1,1,5) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLBdLzdLzdLzdLzdLzdLzdLzdLzaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLCdLDdLEdLEdLFdLFdLFdLFdLFdLGdLHdLIdLJdLzdLzdLzdLzdLzdLzdLzdLzdLKdLLdLLdLMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLCdLNdLOdLzdLzdLzdLzdLzdLzdLPdLPdLPdLQdLRdLJdLzdLzdLzdLSdLTdLUdLUdLVdLWdLXdLYdLZdLZdLEdMadMbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMcdLOdLzdLzdLzdLzdLzdLzdLzdLPdMddMedMfdLQdLRdMgdLPdMhdMidMjdMkdMkdMkdMldMmdMkdMkdMkdMkdMndModMbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMpdLzdLzdLzdLzdLzdLzdLzdLzdMqdMrdMsdMtdMudMvdMwdMxdMydMzdMAdMBdMCdMAdMDdMldMAdMEdMBdMkaabdMFdMGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMHaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdLzdLzdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaadLCdMJdLzdLzdLzdLzdMqdMqdMqdMqdMqdMKdMLdMsdMMdMNdMNdMNdMOdMPdMAdMQdMRdMSdMldMldMTdMRdMQdMkaabaabdMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaadMVdMWdLZdLZdLZdMXdMYdLzdLzdLzdLzdMqdMqdMZdNadMqdNbdNbdNbdNbdNcdMNdNddNedNfdMAdMAdMAdMAdNgdNhdNidNidNidNidNidNjdNkdNlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadNmdNndNmaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdLzdMIdMIdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaadNodMYaabaabaabaabaabdLzdLzdLzdLzdMqdNpdNqdNrdNsdNtdNudNvdNwdNxdNydNzdNAdNBdMAdNCdNDdMAdNEdNFdNGdNHdNIdNJdNKdNLdNMdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadNOdNPdNOaabaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdNRdNSdMqdNTdNtdNUdNVdNWdNXdNYdNZdOadObdOcdOddOedOfdOgdNidOhdOidOjdOkdOldOmdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOndOodOpdOqaabaaaaaadLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdNRdOrdMqdOsdNUdOtdOudOvdOwdOxdOwdOydOwdOwdOwdOwdOzdOAdNidOBdOidOCdODdOEdNMdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOFdOFdOGdOHdOIdNOaabaaaaaadLzdLzdLzdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdOJaabdMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdOKdOLdMqdOMdONdOOdOPdOQdORdOSdOTdOUdOVdOWdOXdOwdOYdOZdNidPadPbdPcdODdNidPddPeaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadPfdPgdPhdPidPjdPkdPlaabaabdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPnaabdMpaaaaabaabaabaabaabdLzdMkdMkdMkdMkdMkdPodPpdMkdNbdNbdPqdPrdPsdOwdPtdPudPvdPwdPxdPydOwdPzdPAdPBdPCdPDdPEdPFdNidPGdPHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadPIdOFdPJdPKdPLdOIdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdMAdPOdPPdPQdPRdPSdPTdPUdPVdPWdPXdPYdPZdOwdQadQbdQcdQddQedQfdQgdQhdQidQjdQjdQjdQkdQldQmdQndQodQodQpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdQqdQrdQsdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdQtdQudQvdQwdQxdQydQzdQAdQBdQCdQDdQEdQFdQGdQHdQIdQJdQKdQLdQMdQNdQOdQPdQjdQQdQRdQSdQTdQjdQUdPHdPHdPHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdQVdQWdQXdQYdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdQZdRadPPdRbdRcdRddRddRedRfdRgdMkdRhdRidRjdRkdRldRmdRndRodRpdOwdRqdRrdRsdRtdRtdRudRvdRwdRxdRydRzdRzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdRAdRBdRCdPMdRDdREdPMdPMdPMdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdRFdRadPPdRbdRcdRGdRHdRedRIdRJdMkdRKdRLdOwdRMdOwdOwdOwdOwdRNdOwdROdRPdQjdRQdRRdRSdRTdRUdRVdRWdRXdRXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdRYdRZdSadSbdScdSddNmdPkdSedPMdSfdSgdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdMAdRadPPdRbdRcdShdSidRedSjdSkdMkdSldSmdSndSodSpdSqdSrdOwdSsdStdSudSvdSwdSxdSydSzdSAdSBdRVdRzdRzdRzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdSCdSDdRZdSEdSFdSGdSHdSIdSedSJdSgdSKdSfdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadSLdSMdSNdSOdSPdSQdSNdSRdSSdSTdSUdMAdSVdSWdMkdMkdMkdMkdMkdSXdSYdSZdSodTadSqdTbdOwdTcdTddTedTfdTgdThdTidTjdTkdTldTmdTndMkdTodMWdLZdLZdLZdLZdLZdLZdMadTpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadTqdSCdTrdSCdSadSadRDdTsdSFdPMdQYdTtdPMdSgdTudPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadTvdTwdTxdTydTxdTxdTzdTAdTBdTCdTDdTEdTFdTGdTHdTIdTJdTKdTLdTMdTNdTOdTPdTQdTRdTSdOwdTTdTUdTVdTWdQjdQjdTXdQjdQjdQjdTYdTZdUadUbdUcdUddUddUedUddUddUddUfdMGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdUgdUhdSadUidUjdSadQsdUkdSGdUldUmdUndPMdPMdPMdPMdPMdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaadUodUpdTxdTxdTxdTxdUqdUrdUsdUtdUudUvdUwdUxdTHdUydUzdUAdUBdUCdUDdUEdUFdUGdUHdUIdUJdUKdUHdULdUMdUNdUOdUPdUQdUNdURdUNdUHdUSdUTdUUdUVdUWdUXdUYdUZdVadUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdVbdVcdVddSadUjdVedSEdVfdSFdVgdPMdVhdVidPMdVjdSedVkdVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaadVmdVndTxdTxdVodTxdVpdVqdVrdVsdVtdVudVvdVwdTHdVxdVydVzdVAdVBdVCdVDdVEdVFdVGdVHdVIdVJdVKdVHdVLdVIdVMdVHdVIdVNdVOdVPdVQdVRdVSdVTdVUdVVdVWdVXdVXdVYdUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdMIdMIdPMdSddVZdWadWbdVddWcdWddSGdWedNmdPkdWfdPMdVjdQYdSedVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaadWhdWidTxdWjdWkdWldWmdWndWodWpdWqdWrdWsdWtdTHdVxdWudWvdWwdWwdWwdWwdWxdWydWzdWAdWydWBdWCdWDdWBdWEdWFdWGdWEdWEdWHdWIdWJdWKdUddWLdWMdUddWNdVXdVXdWOdUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdPMdPMdPMdPMdPMdPMdScdSFdWPdVZdSFdUkdWQdWedWedSIdSedVhdPMdVjdQsdWRdVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdWTdWUaaaaaaaaadWVdWWdSNdWXdWYdWYdWYdWYdWZdXadXbdMAdMAdMAdTHdXcdWwdXddWwdXedXfdXgdXhdWydXidXjdXkdWBdXldXmdXndWEdXodXpdXqdWEdXrdXsdWJdXtdXudUddUddUddXvdXwdXxdVadUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdPMdXydPkdSGdXzdPMdXAdXBdXCdPMdUldPMdXDdXEdXFdPMdPkdXGdNPdXHdQsdQXdNPdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdXIdXJdLZdLZdLEdLZdMXdMYaabaabdXKdXLdXMdXNdXOdXPdXQdXRdXSdXTdXUdXVdXWdXXdXYdXZdYadYbdYcdWydYddYedYfdWBdYgdYhdYidWEdYjdYkdYldWEdYmdYndYodYpdYqdYrdYsdUddUddUddUddUddYtdMJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdPMdXydQsdPkdSEdUldXGdVZdYudVZdYvdPkdPkdYwdSedPkdQsdQsdPMdNPdYxdQsdPkdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdYydYzdYAdLzaaaaaaaaaaaaaaaaaaaabdXKdXLdYBdYCdYDdYEdYFdYGdYHdYIdYJdTHdWwdXddWwdYKdWwdYLdYMdWydYNdYOdYPdWBdYQdYRdYSdWEdYTdYUdYVdWEdYWdYXdYYdYZdZadZadZbdXudZcdLDdLZdLZdZddZeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdPMdXydZfdQsdQsdUldQsdWRdRDdQsdZgdYvdWRdWfdZhdQsdZidQYdPMdVZdNPdXGdPkdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZjdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZkdWgdZldZmdWgdWgaaaaaaaaaaaaaaaaaaaabdXKdXLdZndZodZpdZodZqdZrdXKdYHdZsdTHdZtdZudZvdZwdWwdZxdYbdWydZydZzdZAdWBdZBdZCdZDdWEdZEdZFdZGdWEdZHdZIdXudZJdZKdZJdZKdXudZLdZMdMIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdPMdXydZNdSEdScdPMdZOdPMdZPdZQdPMdSGdPMdZPdZQdPMdSFdXGdPMdYwdZRdNPdVhdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZTdZjdZUdZjdWgaaaaaaaaaaaaaaaaaaaaaaabdXKdZrdZrdZrdZVdZWdZXdZrdZYdYHdZZdTHeaaeaaeaaeaadWweabdYbdWyeaceadeaedWBeafeageahdWEeaieajeakdWEealeameandXudXudXudXueaoeapdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdPMdPMdPMdPMdPMdPMdZOdPMeaqdSedSGdVhdQYdSFdWcdSFdUndSEdPMdZPeareaseatdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZkdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSeaueaveawaaaaaaaaaaaaaaaaaaaaaaabaabdXKeaxeaxeayeazeaAdZreaBeaCdYHeaDdTHdWSdWSdWSdWSdWweaEeaFdWyeaGeaHeaIdWBeaJeaKeaLdWEeaMeaNeaOdWEeaPeaQeandLzdMIdLzeaReaSeaTdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdSedVheaUdUkdOIdSEdSedPMdSFdQYdPMeaVeaWeaWeaXdPMeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSeaZebaebbaaaaaaaaaaaaaaaaaaaabaabaabdXKdXKebcebddXKebeebfebgebfdXKebhdWSdWSdWSdWSdWSdWwdWwdWwdWydWydWydWydWBdWBdWBdWBdWEdWEdWEdWEdWEeaneanebiebjdLUdLUebkdZMdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdVhdPkdUndSedSFdQYdUndPMdZOdPMdPMdVjdNPeaWeblebmeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebneboebpaaaaaaaaaaaaaaaaabebqebrebsebtebuebvebwebxebyebzebAebBdXKebhdWSdWSdWSdWSdWSebCebDebEdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzebFebGdZMebHdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdPMdPMdPMdPMdPMdPMdPMdPMdZOdPMdVjdNPdVkdNPeaXebIeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebJebKebLebMebMebMebMebMebMebNebOebPebQebQebRebSebSdXKebTebUebVdXKebhdWSdWSdWSdWSdWSeaZeboebWdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzebFebGdZMebXeaYebXdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJaaaaaaaaaaaaaaadOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdZOdZOdZOdZOdZOdZOdZOdZOdZOdZOdPMdVjdVkdVkdVkdVldPMeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebYebZebZebZebZebZebZebZebZebYdWSdWSdWSdWSdWSdWSdXKebfecaebfdXKecbdWSdWSdWSdWSdWSeccecdecedLUdLUdLUdLUecfdLUdLUdLUdLUdLUecgecheciecjdZMeaYeaYeaYebXdWTdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMeateckecldPMdPMeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebJebPecmecmecmecmecmecmecmecmebJebPdWSdWSdWSdWSdWSdWSecnecoecpecqecrecsdWSdWSdWSdWSebEebEebEdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIectecuecvecweaYebXeaYeaYebXdLzdLzdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdPMeaWeaWdVkdPMeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSdWSecnecxecpdWSdWSdWSdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdWTebXeaYecyeaYebXeaYeaYeaYdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdPMeczecAeczdPMeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdWTdMIeaYebHdMIdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYdPMecCeckeatdPMeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecDdWSdWSdWSdWSdWSdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYecFecGecHeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdZjdWgdWSdWSdZkdZkdWgdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYecJeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYecJeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaadMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecKecLdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYecJeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdMIaaaaaaaaaaaadLzdMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaadMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdWTdWTdWTecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTecIecIecIecIecXecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdWTdWTdWTecIecIecIecYecZecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTecIecIecIecYecYecYecYecYecYecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadLzaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIecIdWTecIecIecIedaecYdZjdZjdZjdZjdZjdZjdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIdMIdMIaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSecKecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOecIdWTdWTecIdZjdZjededZjdZjedbeddedcedgedfdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIdMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSecVdZjdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOebEebEebEebEebEedjedcedkdZjdZjdZjediedcedcdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedmedlednedcedpedcedcedqdZjedbeddedoedcedsdZjecYedredrecYecYecYecYecYecIecIecIdMIecIecIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOebEebEebEebEebEedcedcedudZjdZjdZjedtedddZjdZjebJebPedredrecYecYecYecYecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaadLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedzedAedwedxedwedwedyedBedcedcedcedcedredrecYecYecYecYecYecIecIecIecIdMIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedcedcedEdZjdZjedDedCedtdZjdZjedGdZjedFedrecYecYecYecYecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaecEaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedcedcedqdZjedHedJedIedNedMedPedOedLedKedrecYecYecYecYecIecIecIecIecIdMIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIecEecEaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedSedcedkdZjedQedRedRedWedVdZjedXedUedTecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMIdMIecEaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvdZjedcedcedcdZjedYeeaedZeecedVdZjeeeeebedrecYecYecYecIecIecIecIecIecIecIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJecOecOecOecOecOdZjdZjdZjdZjebEedcedcezJdZjdZjdZjdZjdZjdZjdZjezKdZjedrecYecYecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJecOecOecOecOecOezLedcednedcezNezMezOezJdZjecYecYecYezQezPezRedcedredrecYezPecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadPmdPmaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJecOecOecOecOecOdZjdZjdZjdZjebEdZjdZjdZjdZjecYecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaadPmdPmeedaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecKecLdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJecOecOecOecOecOdOJecIecIdWTecIecIecIecIezSecYecYecYecYecYecYecYecYezPecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaeedaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJecOecOecOecOecOdOJecIecIdWTecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaabaabaabaabaabaabaabaabdPmdPmdMIdMIdLzdLzdWgdZjeefdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTdWTdWTdWTdWTdWTeAadWTdWTdWTdWTdWTeAadWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaacaacaacaacaacaacaacaacdPmdPmdPmdMIdLzdLzdWgdWgdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecEecEecEecEecEecEecEecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaabaabaabaabaabaabaabaabdPmdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWSdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdLzdLzdWgdWSeegeehdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdWgdWgdWSecBdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzdLzdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdWgdWSdWSecBdZTdZjdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdWSdWSeegeehdWSdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSedhecsdWSdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSecKecNeeieejecNecNecNecLdWSdWSdWgdWgdWgdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSecKecNecLdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSdWSdWSecBdWSdWSdWSdWgdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeldMIeeleemeeneeneeoeeoeepeeqeereeseeteeueeueeueeveewdZjdZjdZjdZjeexeeyeezeezeezeezeezeezeezeezeezeeAdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeCeeDeeEeeFeeGeeHeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekdWSdWSdWSdWSdWSecKecNecNecLdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeleeBeeBeeBeeBeeBeeBeeBeeIeeIeeBeeBeeBeeBeeBeeJdZjdZjdZjdZjeeKeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekdWSdWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeBeeBeeBeeBeeBeeBeeLeeMeeNeeOeeBeeBeeBeeBeePeeQeeRdZjdZjeeSeeTeeUeeVeeVeeVeeWeeXeeXeeXeeXeeXeeXeeXeeXeeYeeZeeYeeYeeYeeYeeYeeYeeYeeYeeYeeYeeYefaecNecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeldMIefbeeBeeBefcefdeeBefeeffeeMeeOeeBefgefheeBeeBeeBefidZjdPmaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWTdMIdMIdMIdMIdLzdLzdWgdWgdWgdWgdWSecDdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjefjefkeflefmefndZjdPmaabaabaaadMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdZjdWSdWSecBdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdPmaabaaaeaYdMIdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSecKecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaeaYeaYdMIdMIdMIeaYeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaeaYeaYdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaaaaeaYeaYdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaadMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJecEecEecEecEdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSeegecNecNecNecNeehdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWSefodWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWSdZjdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSeegeehdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdZjeefedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdWgdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWgdWgdWgdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWgdWSdWSdWgdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaabaabaabaabaabaabaabaabaabaabdPmdPmdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaacaacaacaacaacaacaacaacaacdPmdPmdPmdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaabaabaabaabaabeedeedaabaabaabdPmdPmdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdWSdWSdWSdWSdWgdWgdWgdWgdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaeedeedeedeedaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdWSdWSdWSdWSdWSdWgdWgdWgdOJdOJdOJdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaeedeedeedeedaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdWSdWgdWgdOJdOJdOJdOJdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaeedeedaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefpdWSefpdWSdWgdWgdWgdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefqefrefqdWSdWgdOJdOJdOJdOJdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefseftefudOJdOJdOJdOJdOJdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefseftefvdOJdOJdOJdOJdOJdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSebJebPeezeezeezeezeezeezeezeeAeftefvdOJdOJdOJdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefwefwefwefwefwefwdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdZTdZjdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSefrefxefxefxefxefxefxefxefyefzefvdOJdOJdOJdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefAefBefCefDefAefwdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdWgdWSdWSdWSebJefEecmecmecmecmecmecmefFeftefGefHdOJdOJdOJdOJdOJdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefAefIefJefKefLefwdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJecEecEecEdOJdOJdOJdOJdOJdOJdWgdWgdWgdWSdWSdWSdWSdOJdOJdOJdOJdOJdOJefseftefvdOJdOJdOJdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaaefMefNdMIefOefwefwefwefPefwefwefwdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdLzdLzdWgdWgdWSdWSdWSdOJdOJdOJdOJdOJdOJdOJefseftefvdOJdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefQefNefRdMIefOefSefTefOefUefOdWgdWgdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdLzdLzdWgdWgdWgdWSdWSdOJdOJdOJdOJdOJdOJdOJefVeftefvdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaadZjdLzefOefWefXefYefUefOdWSdWgdWgdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdLzdLzdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefpefrefpdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefZdMIdLzefOefOefOefOegaefOdWSdWSdWgdWgdZjdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWSecBdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdLzdLzdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSefqeaaefqdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIegbdMIdMIefOefSegcefOefUegddWSdWSdWSdWSegedWSdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdZjdZjdZjdZjdZjdZjdWgdWSecBdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSeaaeaaeaaeaaegfegfegfdWSdWSdWSdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIegbdMIdMIefOefWefXeggefUeghdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdZjegiegjegkegkegldWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSeaYdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdWSdWSdWSdWSegmegnegodWSdWSdWSdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefOegpefOefOefOefOefOefOefUegqdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdZjegregsegtegtegudWSedhecrecsdWSdWSdWSdWSdWSdWSdWSeaYeaYdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdWSdWSegvegvegvegvegvegvegwegxegyegvegvegvegvegvdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIefOefOefOefOegzegAegBefOefSegCefOegaefOefOefOegDegEegFefOdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdZjegGegHegIegIegJdWSecnecxecpdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdWgdWSdWSdWSegvegKegLegMegNegOegPegQegRegSegTegUegVegWecsdWSdWSdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdMIdMIdMIefOegXegYegZehaegYegYefOefWefXehbefUefOehcehdeheeheeheegddWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSehfehgehhehiehgehgdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdLzdWgdWSdWSdWSegvehjegLehkehlegLehmegLegLehnehoehpegVehqehrdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdZjdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdLzdLzdLzefOehsegYehtehuehvehwefOefOefOefOefUefOehcehxehxehxehyeghdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSehfehzehzehzehAehgdWSehBdWSdWSdWSdZTdZjdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdLzdWgdWSdWSdWSegvehCegLegLehDegLehmegLegLegLehEehFehGegWecpdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSegedWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdLzdLzdLzefOehHegYehIegYehJegYehKehyehLehMehNefOehcehxehOehxehPegqdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSehQehQehRehSehfehTehUehVehWehgehgehgehgdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdWgdWgdWSdWSegvehXegLehYehZeiaeibeicegLegvegvegvegvegvegvedhecsdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSedhecsdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzefOefOefOefOefOefOefOeideieeifeideieefOefOefOefOefOeigefOefOeiheiidWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSeijehSeikeileimeineioeipeipeiqeireiseiteiuecsdWSdWSdWSdZkdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdLzdWgdWSdWSegveivegLeiwehleixeiyeizegLeiAeiBeiCeiDeiEeiFeeieejecNecNecNecNecNecLdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSeegecNecNecNecNecNecNecNecNeeieejecNecNecNecNecLdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzefOeiGeiHeiIehxehPeiJehyehPehKeiKeiLeiMehyehPehxehxeiNeiOegEegFeiPeiPeiPeiPeiPeiPeiPeiPeiQeiQeiQeiQeiQeiQeiQehReiReiSeiTeileiUeiVeiWeiXeipeipeiYeiZejaejbejcejddWSdWSdWSdZkdWgdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdMIdMIdLzdWgdWSdWSegvegvegvegvegvejeejfejgegvegvejhegvegvegvegvecnecpdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWSdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdWgdZjdWgdWgdLzefOefOefOefOehxehPejiejjejkehMejlejmejmejnejnejoejmejpejqejmejqejrejrejrejrejrejrejrejrejsejsejsejsejsejsejsejtejuejtejvejuejwejxejyejzejAejBejCehgehgehgeiuecpdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSegvejDejEejFejGegvejHejIeaadWSdWSdWSdWSdWSecDdWSdWSdWSecKecNecNecLdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSeegecNeehdWSdWSdWSdWSdWgdWSdWSecDdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSegedWSdWgdWgdWgdWgdWgefOehxejJejKejLejLejKejMejNejOejLejLejPejKejQejRejSejTejUejUejUejUejUejUejUejUejVejVejVejVejVejVejWejXejYejZekaekbekcekdekeehQehQehQehQehQehQehQehQekfekgekhekgeaadZkdWgdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdLzdWgdWgdWSdWSdWSdWSegvekiekjekkeklegvdWSdWSdWSdWSdWSdWSdWgdWgdZjdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWSeegeehdWSdWSdWSdWgdWgdWgdWgdWgdWgdZjdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgefOefOekmeknekmefOefOekoekpekqefOefOefOekrekmefOeksdWSdWSdWSaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaektehSeilekuekvekwekxekyekyekzehQekAekBekCekDekDekDekDeaadWSdWgdLzdLzdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdWgdWgdWSdWSdWSegvegvegvegvegvegvdWSdWSdWgdWgdWgdWgdWgdLzdLzdWgdWgdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSecBdWSdWSdWSedhecsdWSdWSdWSdWSdWSdWSdWSdWgefOekEekFekGekFefOekHekIekJekKekLefOefOekMekNefOdWSdWSdWSdWSdWSdWSaaaaaaaabaaaaaaaaaaabaabaabaabaabaabaabaabaabehQekOekPejxehQehQehQehQekQehQekRehQehQeaaeaaeaaeaaeaadWSdWgdLzdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSecKecNecNecNecLdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSecKecNecNecNeeieejecNecNecNecLdWSdWSdWSdWSefOekSekTekUekVefOekWekXekXekYekLefOefOekZelaefOdWSdWSdWSdWSdWSdWSaabaabaabaabaabaabaabelbelbelbelbelbaabaaaaaaehQelceldejxeleelfelgekyekyelhekyekzehQdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSecKecLdWSdWSedhecsdWSdWSeegecNecNecNecNecNeehdWSdWgdLzdLzdLzdLzdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSecBdWSdWSdWSdWSefOefOefOefOefOefOelieljelkellekLefOefOelmekmefOdWSdWSdWSdWSdWSdWSaaaaaaaabaaaaaaaaaaabelbelbelbelbelbaabaaaelneloelpelqelrehQehQehQehQehQehQelseltehQdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdWgdWgdWgdWgdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSecDdWSdWSecKecNecNeeieejecNecNeehdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSecKecNecNecLdWSdWSdWSdWSdWSdWSefOefOefOefOefOefOefOeluelvelwelxdWSdWSdWSdWSdWSaaaaaaaaaaabaaaaaaaaaaabelbelbelbelbelbelyelzelAelBeilelCejxelDelEelFelGelHelIelJeltehQdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdZjdWgdWSdWSdWSdWSecnecpdWSdWSdWSdWSecDdWSdWgdWgdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSecnelKelLelLelLelLelMecpdWSdWSdWSdWSdWSdWSaabaabaabaabaabaabaabaabelbelbelbelbelbelNelOelPelQeilelCejxeileilelReileilelSelTelUehQdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdZjdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaabelbelbelbelbelbelVelzelWelXeilelCelYekbekbelZekbekbemaembemcehQdWSdWSdWSecVdZjdLzdLzdLzdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSecKecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecLdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaabelbelbelbelbelbemdaaaemeeloemfelCejxeileilemgelEeileilelsemhehQdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecBdWSedhecsdWSdWSdWSebEebEaaaaaaaaaaabelbelbelbelbelbaabaaaaaaemiemielCemjekbemkemlemmemnemoelTeltehQdWSdWSdWSdWSdWgdLzdLzdLzdLzdMIdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecKecNeeieejecNecNecNempemqemremremremremremremremremremremremremsemtemueileileilemvemwemxemyemzemAehQdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSebEebEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemiemiehQehRehSehQehQehQehQehQehQehQehQdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdZjeefdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecDdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdZjdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZTdZjdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdLzdLzdLzdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSefodWSdWSdWSdWgdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWgdZjdWgdWgdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBaaaaaaaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaemBaaaemBaaaaaaemBemBemBemBemBemBemBaaaaaaemBaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaadMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
-(1,1,6) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemDemCemDemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemDemCemDemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdARemCemDemCemDemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdARemCemDemCemDemCdARaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdHgdHqdHtdHgdHqdHtdHgdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdHidHldHlemEdHldHldHiemCemCemCemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemDemDemDemDdIddHldHldHldHldHldIdemDemDemDemDdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdHgdHldHlemFemGemHdHgemCemCemCemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemDemDemDemDdHiemIdHlemJdHlemKdHiemDemDemDemDdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdIddHldHlemLdHldHldIdemCemCemCemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdHgemMemNemOdHlemPdHgdARdARdARdARdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdIodHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdHgdHgdHgemQeAcemSeAbemUdHgdHgdHgdHgdHgdHgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacdGEaacaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadItdIKemVdIvdIvdINemSemSemSemSemSdINdJfdIPdIQemWdISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaabaacaacdGEdGEaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIGdIUdIvdIvdIvemXemSemYemZemYemSenadIOdIOdIOdIOdJaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaacaacaacdGEdGEaacenbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIWdJcdJddIVdIvdINemSencendeneemSdINdJrenfengenhdIdaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacdGEdGEdGEaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdJgdHgdHgdJhdHgemSemSemSemSenidHgdHgdHgdHgdHgdHgaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaienjenjenkenjenjenjaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaabdHgenldHgdHgenmemSennenodHgaaaaabaabaabaeJaaaaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenqenqenrenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcyPaabdHgdJodJpdHgensemSentemSdHgaaaaaaaabcrvcrvaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenuenqenqenvenqenpenpenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaaadHgdHgdHgdHgdHgdHgdHgenwdHgaabaaacrvcrvaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenxenqenqenqenqenqenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczZaaaaaaaaaaaaaaaaaaaaadHgdHldHgaabcrvcrvaaaaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenqenvenqenqenvenqenyaaadARdARdARdARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgenwdHgaeJcrvaabaaaaaaaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaacaacaacaacaacaacenpenqenqenqenqenqenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaaqaaqaaqaaqenpenpenpenpenpenuenzenpaaaaaaenAenBenCaaaenAenBenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenDenEenFenGenqenqenHaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenJenKenLenMenqenqenHaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenNenqenOenPenQenRenSaaaaaaaaaenTaaaaaaaaaenTaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenUenVenVenWenqenXenYenZeoaeobeocenZenZenZeodeoeeoedARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenJenqenqenqenqenqeofaaaaaaaaaenTaaaaaaaaaenTaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeogeogeogeogeogeogeogeoheogeogeogeogeoieogaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeokeoleomeomeogeoneojeojeogeojeojeogaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeooeopeopeoqeoreoseojeojeogeogeoieogaaaaaaenAeotenCaaaenAeotenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeoneojeojeoueogeoveojeoweogeojeojeogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaabaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeoxeoxeoyeozeoAeogeogeojeojeoveogeogeoBeogaaadARdARdARdARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaiaaaaaaaabaacaacaaceoCaabaabaabaaaaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeoneojeojeogeogeoveojeojeojeojeojeogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaieoDaabaabeoDaacaacaacaacaaceoDaabaabeoDaaiaabaabaabaaaaaaaaaaaaaaaaaaaaaeoEeoEaaiaaiaaieogeoFeojeoGeojeojeoHeoIeojeojeojeojeojeojeogdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabeoJeoJeoJeoJaaceoCaacaacaaceoJeoJeoJeoJaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaeoEaaiaaieogeoKeoLeoMeoKeoKeogeogeogeogeogeogeogeogeogeoNdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJeoJeoOeoJeoPeoJeoQeoReoSeoJeoJeoJeoJeoJeoJaabaabaaaaaaaaaaaaaaaeoEaaaaaaaaaaaiaaiaaieogeojeojeoneojeojeoTeoUeoVeoWeoXeoYeoZeoWepaepbdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeoJepcepdepeepfepceoRepgepgephepgepcepeepceoJeoJeoJaabaaaaaaaaaaaaaaaaaaaaaeoEaaaaaaaaaaaaeogeoFeojeoGeojeojeoTepiepiepjepiepiepiepiepkepldARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepmepnepoeppepoepcepqeoQeprepgephepsepcepcepceptepueoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeoKeoLepveoKeoKepwepiepiepjepiepiepiepjepiepxepyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepzepzepzepzepAepgepBeoJephepCeoJepgepDepeepDepDepgeoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeovepEeojeojepFepiepiepiepiepGepiepiepHepIdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepgepDepDepDepJepdepcepKepDepgepDepDepcepdepdepDepDeoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeogeojeojepLepMepNepOepPepPepQepRepjepiepiepiepxdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDepdepeepcepSepcepeepcepgepgepDepcepcepcepcepeepceoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeogeojeojepEeojeojepTeoWeoWepiepUepVepiepVepWeplaacepXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepcepeepcepYepZeqaeqbepgeqcepgepgeqdeqeeqfepDepdepeeoJaaiaabaaaaaaaaaaaaaaaeoEaaaaaaaabaabaabeogeogeogeoneogeojeoTeqgeqheqieqjeqkeoUeoUeoWeplepyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepDepcepYeqleqmeqnepgepgepgepgepgeqoeqoeqpeqfepcepdeoJaaiaabaabaaaaaieogeogeogeogeogeogeogeogeogeogeogeqqeogeogeogeqreqreqseqreqreqreoNeoNeoNdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJepDepDeqtequepdepgepgepgepgepgepgepgepgeqveqwepDeqxeoJaaiaaiaabaabaaieogeqyeqyeqyeqzeqAeqBeqCeogeqyeqyeqDeqyeqyeogaaiaabaacaacaaaaaieqEaacaaqdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeoJeoJeoJepDepDeqteqlepdepgeqFeqFeqFeqFeqFepgepgeqGeqwepgepDeoJeoJeoJeoJeoJaaaeogeqHeqIeqIeqIeqIeqIeqIeqJeqIeqIeqKeqyeqLeogaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDeqMeqNepDepDeqOeqPepgeqQaaaaaaaaaaaaaaaeqFepgeqGepAepgepDepcepDepgeoJeoJaabeogeqReqyeqyeqyeqyeqyeqyeogeqSeqyeqDeqyeqyeogaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeqTepceqGeqfepDepdepDepgepgeqFaaaaaaaaaaaaaaaeqFepgeqUepgepDeqVeqWeqXepcepDeoJeoJeogeoheqYeogeqZeqZeqZeqZeogeqyeqyeraeqyeqyeogeoEaaaaaaaaaaaaaaaaaaaaaaaaaacaacaaiaaqaacaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepsepeerbeqwepdepdepdepeepgeqFaaaaaaaaaaaaaaaeqFepgercepgepDerdereeqXepcerfeoJeoJergerherierierjerjerjerjeogeogeogeogeogeogeogaabaabaaaaaaaaaaaaaaaaaaaaaaacaacaaiaaqaaceqEaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJerkepDerbeqwepDepeeqberlepgeqFaaaaaaaaaaaaaaaeqFepgepgermepgepDepcernepeerkeroeroergerperqerierjerjerjerreogeqEaaceogeogaaaaabaaaaaaaaaaaaaaaaaaaaaaacaacaacdGEaaiaaqaacaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDersepAepcepderternepgeqFaaaaaaaaaaaaaaaeqFepgepgeruepDepDeqdeqPepDeoJeroerverwerxeryerierjerzerjerrerAaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacerBaaiaaqerCaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJeoJeoJepDepDeqtepgepgepceqFeqFeqFeqFeqFepgepgepgerDepdepdeoJeoJeoJeoJeroerpergergergerEergergergergergergergaabaabaaaaaaaaaaaaaacaacaaqaacaacerCaacerFdGEaaiaaqdGEeqEaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJeoJepcerGerHepgepcepeepgepgepgepdepcepgepgerIerDepeepDeoJeoJeoJaabaaberpergerierJerJergerjerKerLerLergergaabaacaabaabaabaacaacerBaaqaacaaidGEerBerCerMaaiaaqdGEaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepeepderNepgepgepcerOepcepdepeepoepqepoerOerPepdepdeoJeoJaaaaaaerverQergerierJerierierjerjerjergergaaaaaaaaaaabaaaaaaaacdGEdGEaaqaacerRerRerRerRerRerRerSerSerSaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaephepgephaabaaberHeqdeqwepDepDepDerTepzepzepAepcepcepDeoJeoJaaaerverQerqergerjerjerjerierUerjergergergaaaaabaabaacaaaerVerSerSerSerSerSerSerWerXerYerZerYesaesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescescescescescescescescescescescescescescaaaaaaaaaaaaaaaaaaaaaesdaaaepgepgeseaabaabepgesfepDepcepcerdepDepDepcepdepeepDepDeoJeoJaaaerperJerqergergergerjergergergergergergesgesgaaqaaqaaqerVesheshesiesiesjerSerWerWerWerYerYesbesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceskeskeskeskeskeskeskeskeskesleskesmeskesmescesnesoesoesoesnespesqesressesnestaabaeJaabepDepDepcepdepdepdepcepDepDepcepdeoJeoJeoJeoJaaaerperqeriergerjeryerieryergeryeryesueryaacerBerBerBaacerBesieshesjesjesiesverYerYerYerYerYesbesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceskeskeskeskeskeskeskeskeskeskeskeskeskeskesceswesweswesxeswesyeszesresresAaabaabaabaabeoJeoJepDesBepeepcepDeoJeoJeoJeoJeoJeoJaabaaberJesCerqerierjerjerierJeryeryesueryerJesDaaqaaqesEesEesFesEerRerRerRerRerRerRerYerYesGerYerYerYerYerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescesmeskeskeskeskeskeskescescescescescesHescesceswesweswesweswesIesyeszesresresresraabaabeoJeoJeoJeoJepgeoJeoJeoJeoJeoJeoJaabaaaaacergerJerherieriergerjerierierJeroeroeroeroeroaabaabaabaaaaaaaaaesJerCesJaaceoCerRerWerWerYerWesKerYesLerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescesmesmeskesMeskeskeskesceskeskesleskeskeskesHesweswesweswesweswesyeszesresresresraaaaabaabeoJeoJesNepgepgeoJeoJaabaabaabaaaaaaaacergerqerherieriergergergergeryeroerMerBerMesOaaaaabaaaaaaaaaaaaaaaaaaesJaabesOerResPesPerYesPesQerYerYerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescescescescescesRescesSeskesSeskesSeskesceswesweswesweswesTeswesyeszesresresraaaaaaaabaabeoJeoJeoJeoJeoJaabaabaaaaaaesUesUesVergeriesWerierjergerjeryerieryeroerBesOerBerBaaaaabaaaaaaeoEaaaaaaaaaaaaesOaaberRerYerYerYerYesXerWerWerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYesZetaetbetaetbetaetbetaescesSeskesSeskesSeskesHeswesweswesweswetceswetdesyeteeszesresretfesnesnesnesnetgetgaabaaaaabaaaethaaaaaaaacergergesWeriergergerJerjerJeryeroerBesJaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaerMerRerSerYerYerSerSerSerSerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYetietjetketjetketjetketjesceskeskeskeskeskeskesceswesweswesweswetleswetmeswesyesyeszesresretnesretnaacaacaacaacaaaaabaabaabaabaaaaacergerjetoerjerjergerjerjerjerjeroesOerBaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaerRerRerRerYerYerSetpetpetperSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetqetretsettetuettetbetaetbetaescescescescescescetvetwetxetxetyetyetzetAetxetxetxetxetBeszeszeszesnetCesnerMaacaacaacetDetEaacaacaacetFetGergerjetHerjerjergerjerierjetIeroeroeroaacaabaabaacaabaacaabaabaabaacaabaabaacaacerRerYerYerYerYerYetJerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetKetLetLetLetLetMetketjetketjetNetOetOetOetPetOetQescetRetSesweswetTetletUesweswesnetVeswesnesnesnesnesnetWetGerMerCetXaacerCaacaacerMetGergerjetHerjetIergerjerjerjerJerjerjeroergetYetYaaqetZaaaaaaaaaaaaaabaaaaaaaaaaaberRerYerYerYerYerYeuaerSeubeucaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachPeudeueeufeugeufetbetaetbetaescescescescescesceuhescergergergergergergergergergergeuieujergergergergergergergergergergerCetGetGetGerCaacergerjeukeuleuleuleuleuleumeuleuleuleuneuleuoeuoeupeuqetYaaaaaqaaqcrvaaqaaqaaqesgerRerSerYerYerYerYerYeuresGeuraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYetietjetketjetketjetketjescaaaaaaaaaergerjerjerjerjerjeuserjerjerjerjergerjerjetHerjerjerjergerjerjerjerjerjergergergergergergergergergerjetHerjerjergerjerierjerjerJerjeroergesEaaqeuteuoeuueuveuweuxeuyeuueuoeuueuueuzeuAeuBeuCesGerYerYerSeubeucaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYesZetaetbeuDetbetaetbetaescaaaaaaaaaergerjerjerjerjerjerjerjerjerjerjergeuEerjetHerjerjetIergeuEerjerjerjerjergergergergerjerjerjerjerjerjeuFeuleuGergerjerjerierierjeuHeroeqEaabaaaeuIeuIeuIeuJeqEaaqaaaeuKeuKeuIeuLerRerSerYeuMerYerYeuNerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceuOescescescescescescescaaaaaaaaaergerjerjerjerjerjerjerjerjerjerjeuPerjerjetHerjerjerjergerjerjerjerjerjerjerjeuserjeuQeuleuleuleuleuleuRerjetHergerjerjerjerjerjeuSeroeqEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesierSerYerSerYerYeuTerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescaaaaaaaaaaaaaaaaaaaaaaaaaaaergerjerjergergergerjergergergeuUergerjerjeuVeuleuleuleuWeuleuleuXeuleuleuleuleuleuleuRerjerjerjerjerjerjerjeuYeroeuZeroeuSeriergaaqaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaevaevberSerYerSerSerSerSerSerRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaergerjerjergevceuserjergevceuserjergevdevdevdeveeuUevfergeuEerjetHerjerjerjerjerjerjerjeroeroeroeroeroeroevgeuYdGEdGEeroergergergaaaaaaaaaaaaaaaaaaaaaaaaevhaaaaaaaabaaaaabaaberSevievjerYerYetJevjerYerYerRerRerRerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberjergevkerjevlergevkerjevkergevmerjerjerjerjerjergerjerjevnerjerjerjerjerjerjerjerodGEdGEevodGEdGEevpevqdGEaaiaaiaaqaaqaaqaaaaaaaaaepXaaaaaaaaaaaaaaaaaaaabevrevraabaaberSevserYerYesGerYerYerYerYesGerYerYerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabergergergergergergergergergerjerjerjevterjerjergergergergergergergergergevuergeroaacaacaacaacdGEevpevqdGEaaievodGEevvaaqaabaabaaaaabaabaabaaaaaaaaaaabaabaabaaaaabaaaevwevxerYerYerYerYesGerYerYerSerYevyerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberJerJerJerJerjevzerJevzergerjevtevkevkevterjergdGEaacaacaacaabaabaabaaqaacaacaaaaaaaaaaabepyaacdGEevAevBevCdGEdGEevDaaqaabaabaabaabeoEaabaabaabaabaabaaaaabaaaaaaaaaevwevxevserYerYerYerYerYerYerSevEerYerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaberJerJevzevFerjevGergeuEerjevHevkerjetIergaacaacaaaaaaaaaaaaaabaabaacaacaaaaaaaabaabaabaabaacevqdGEevIdGEevDevDaaqaabaaaaaaaaaaaaaabaabaabaaaaabaaaaaaaabaaaaaaevwevxerYerYerYerYerYerYerYerSetJevJerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaberJerJerJevzerjergerjerjevkevkerjerjergdGEaacaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaaaaaaaaaaacevqdGEevKdGEevDevDaaqaabaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaevwevLevMevLeubeubeubeubeubeubeubeuberRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaerJerJerJergerjerjevtevterjerjergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabevraacevNdGEdGEdGEdGEdGEevOevPevQaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaevResGetXaacaacaacaacaaaaaaaaaaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaberJerjerjerjerjerjerjerjergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaevSevTevTevTevTevTevUevVevQaaaaacaaaaaaaaaaaaaaaaaaaaaaaaepXaaaaaaaaaevWevMevXaaqaaaaaaaaqaaaaaaaaaaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabergergergergergergerjergevYaacaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaacdGEdGEdGEevQevZevQaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaerJerJesuerierjevGergaacaabaabaabaabaabaacaacaabaabaabaabaabaaaaaaeoEaaaaaaaabaacaacaacdGEevQewbewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaerJerqerJerjerjergaacaabaaaaaaaaaaacaaceoCaacaaaaaaaabaabaabaabaabaabaabaabaaaaacaacdGEevQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaerJeweerJerierJerjerJaacaaaaaaaaaaaaaaaaabaacaacaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaacdGEevQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaerJerJerJerjerjerqergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaiaaievQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabaabergerJergergergergdGEaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaacevOewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaerJerJerJerierqerjergaacaacaaaaaaaaaaaaaabaaaaaaaabaabaaaaaaaabaaaaaaaaaaaaaabaaaaaaaacdGEevOewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaberJerJerJeriergaaqaaqaacaaaaaaaabaabaaaaaaaaaaabaabaabaabaabaabaabaabaabaacaacdGEdGEevOewdevQevOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaerJerJerJerqerjergaaaaaaaaqaabaaaaabaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaacdGEdGEdGEdGEevOewdewfewgevOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaqevOevPevOevOevOevOewhevOevOevOevOevOevOevOewievOevOevOevOevOevOevOevOevOevOevOevOevOevOevOevOevOewjewfewfewfewkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabewlewfewfewfewmewfewfewfewfewfewfewnewoewpewqewrewsewtewuewfewfewfewfewfewfewfewfewfewfewfewvewwewxewlewfewfewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabewlewlewlewfewfewfewfewfewfewfewfewyewzewAewBewCewDewEewFewfewfewfewfewfewfewfewfewfewfewfewdewfewfewfewfewfewcaaaaaaaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabewGewHewIewIewIevOewIewIewIewIewIevOewIewIewIewIewIevOewIewIewIewIewIevOewIewIewIewIevOewdewlewlewfewfewfewJetqetqetqaaaaaaaaaethaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdARdARdARdARdARdARdARdARdARdARaaqdARdARdARdARdARepyepyepydARdARdARaaidARdARdARdARewKewLewKewlewfewfewlewMewNewOewPewlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaewKewQewKewRewRevQewSevQewSevQchPchPchPaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenbaacaacewKewTewUewVewKewWewWevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacewKewYewKewZexaexbexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacewKexcexdewZexbexeexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabevraacerMewKexfewKexgexbexhexievQexjevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacerMexkexbexlexmexbexnexoexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacdGEdGEewKexpewKexbexbexdexbevQewXevQexjevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaewKewKexpewKewKewKewKewKevQewXevQexjevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexqaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexraaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexsexsexsaaaextaaaexsexuexvaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexwexxexxexyexzexyexxexxeoEaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexAexAexAaaaextaaaexAexvaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaextaaaaaaaaaeoEaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexsexsexsaaaextaaaexsexsexsaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexwexxexxexyexBexyexxexxexCaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexAexAexAaaaexvaaaexAexAexAaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexvaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdARdARaacdARdARaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaacaacaacaacaabaabaabaabaabaabaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabexDexDexDexEexDexDexDaacaacaacaabaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexEexEexFexGexFexEexEaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexHexFexFexFexFexFexFexDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexFexFexIexJexKexFexLexDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexMexNexEexFexFexFexGexDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexFexOexFexFexEexDexDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexDexDexDexEexEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexPexQexPdKVaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVexPexRexPdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVexPexQexPexPexPexPexPexPexPexPdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexSexTexUexVexWexXexYexZexPdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexSexSexSexSeyaexXeybexXexPexPexPexPexPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPeycexSexSexSexSeydexSexSexSexQeyeeyeexQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPeyfexSexSexSexSexSexSexSexSexQeygeyeexQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPeyheyieyjexSexSexSexSeykexSexXexPexPexPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPeyleymeyneyoeypexSexXexXexXexXexPdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexPexPexXexXexXeyqexXeyrexSeysexPeyteyueyudCqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPexXexXexXexSeyvexSexSeywexPeyxdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPeyyeyzexXexSexXeyAeyBeyBeyBeyCdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPeyDeyEeyvexSexXexXexPdKVdKVeyxdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPexPexPexPeyaexXexXexPexPexPeyFdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVexPexSexXeyGeyHeyIeyJeyFdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyKeyLeyGeyGeyGeyMeyFdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPexPexPeyGeyNeyGeyOeyPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyQeyMeyGeyGexPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyGeyReyGeyGeySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPexPexPeyTeyUeyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaadLBdLBdLBdLBdLBdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVaaaaaadKVdKVdKVdKVdKVdLBdLBdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdLBdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdLBaaaaaadzUdzWdzWeyWeyWdzWdzWdzWdzWdzXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdzUdzWeyXdLBeyYdGEdGEeyZeyZezadGEezbezcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezddGEdGEdGEdGEdGEezedGEezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezgezhdGEeziezedGEezedGEezeezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVcpWdGEezjdGEezkdGEeyYdGEdGEdGEezeezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezldzWezmdGEezndGEdGEezoeyZeyZdGEezbezpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdAsdzWdzWeyWeyWdzWdzWdzWdzWdAuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaadKVdKVdKVdKVdKVdLBdLBdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdLBdLBdLBdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaadLBdLBdKVdLBdKVdKVdLBdLBdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVaaaaaaaaaaaaaaaaaadLBdKVdKVdKVdKVdKVdKVdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
-
diff --git a/code/WorkInProgress/Mini/asay_trap.dm b/code/WorkInProgress/Mini/asay_trap.dm
deleted file mode 100644
index 4cbd9e3c20a..00000000000
--- a/code/WorkInProgress/Mini/asay_trap.dm
+++ /dev/null
@@ -1,12 +0,0 @@
-/obj/effect/admin_log_trap
- name = "Herprpr"
- desc = "Stepping on this is good."
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x2"
- anchored = 1.0
- unacidable = 1
- invisibility = 101
-
-/obj/effect/admin_log_trap/HasEntered(AM as mob|obj)
- if(istype(AM,/mob))
- message_admins("[AM] ([AM:ckey]) stepped on an alerted tile in [get_area(src)]. Jump", admin_ref = 1)
diff --git a/code/WorkInProgress/Mini/pipe_heater.dm b/code/WorkInProgress/Mini/pipe_heater.dm
deleted file mode 100644
index 38457584320..00000000000
--- a/code/WorkInProgress/Mini/pipe_heater.dm
+++ /dev/null
@@ -1,84 +0,0 @@
-//copy pastad freezer
-//remove this shit when someonething better is done
-/obj/machinery/atmospherics/unary/heat_reservoir/heater
- name = "Heat Regulator"
- icon = 'icons/obj/Cryogenic2.dmi'
- icon_state = "freezer_0"
- density = 1
-
- anchored = 1.0
-
- current_heat_capacity = 1000
-
- New()
- ..()
- initialize_directions = dir
-
- initialize()
- if(node) return
-
- var/node_connect = dir
-
- for(var/obj/machinery/atmospherics/target in get_step(src,node_connect))
- if(target.initialize_directions & get_dir(target,src))
- node = target
- break
-
- update_icon()
-
-
- update_icon()
- if(src.node)
- if(src.on)
- icon_state = "freezer_1"
- else
- icon_state = "freezer"
- else
- icon_state = "freezer_0"
- return
-
- attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
- attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
- attack_hand(mob/user as mob)
- user.machine = src
- var/temp_text = ""
- if(air_contents.temperature > (T0C - 20))
- temp_text = "[air_contents.temperature]"
- else if(air_contents.temperature < (T0C - 20) && air_contents.temperature > (T0C - 100))
- temp_text = "[air_contents.temperature]"
- else
- temp_text = "[air_contents.temperature]"
-
- var/dat = {"Cryo gas cooling system
- Current status: [ on ? "Off On" : "Off On"]
- Current gas temperature: [temp_text]
- Current air pressure: [air_contents.return_pressure()]
- Target gas temperature: - - - [current_temperature] + + +
- "}
-
- user << browse(dat, "window=freezer;size=400x500")
- onclose(user, "freezer")
-
- Topic(href, href_list)
- if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
- usr.machine = src
- if (href_list["start"])
- src.on = !src.on
- update_icon()
- if(href_list["temp"])
- var/amount = text2num(href_list["temp"])
- if(amount > 0)
- src.current_temperature = min(350, src.current_temperature+amount)
- else
- src.current_temperature = max(150, src.current_temperature+amount)
- src.updateUsrDialog()
- src.add_fingerprint(usr)
- return
-
- process()
- ..()
- src.updateUsrDialog()
\ No newline at end of file
diff --git a/code/WorkInProgress/Mloc/Shortcuts.dm b/code/WorkInProgress/Mloc/Shortcuts.dm
deleted file mode 100644
index 361e647cbc3..00000000000
--- a/code/WorkInProgress/Mloc/Shortcuts.dm
+++ /dev/null
@@ -1,65 +0,0 @@
-/mob/verb/shortcut_changeintent(var/changeto as num)
- set name = "_changeintent"
- set hidden = 1
- if(istype(usr,/mob/living/carbon))
- if(changeto == 1)
- switch(usr.a_intent)
- if("help")
- usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small_active"
- if("disarm")
- usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
- usr.hud_used.hurt_intent.icon_state = "harm_small_active"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- if("hurt")
- usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small_active"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- if("grab")
- usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small_active"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- else if(changeto == -1)
- switch(usr.a_intent)
- if("help")
- usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small_active"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- if("disarm")
- usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small_active"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- if("hurt")
- usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
- usr.hud_used.hurt_intent.icon_state = "harm_small"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small_active"
- if("grab")
- usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
- usr.hud_used.hurt_intent.icon_state = "harm_small_active"
- usr.hud_used.help_intent.icon_state = "help_small"
- usr.hud_used.grab_intent.icon_state = "grab_small"
- usr.hud_used.disarm_intent.icon_state = "disarm_small"
- return
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Abi79/uplink_kits.dm b/code/WorkInProgress/Ported/Abi79/uplink_kits.dm
deleted file mode 100644
index b7b053135ec..00000000000
--- a/code/WorkInProgress/Ported/Abi79/uplink_kits.dm
+++ /dev/null
@@ -1,53 +0,0 @@
-/obj/item/weapon/storage/syndie_kit
- name = "Box"
- desc = "A sleek, sturdy box"
- icon_state = "box_of_doom"
- item_state = "syringe_kit"
-
-/obj/item/weapon/storage/syndie_kit/imp_freedom
- name = "Freedom Implant (with injector)"
-
-/obj/item/weapon/storage/syndie_kit/imp_freedom/New()
- var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src)
- O.imp = new /obj/item/weapon/implant/freedom(O)
- O.update()
- ..()
- return
-
-/obj/item/weapon/storage/syndie_kit/imp_compress
- name = "Compressed Matter Implant (with injector)"
-
-/obj/item/weapon/storage/syndie_kit/imp_compress/New()
- new /obj/item/weapon/implanter/compressed(src)
- ..()
- return
-
-/obj/item/weapon/storage/syndie_kit/imp_explosive
- name = "Explosive Implant (with injector)"
-
-/obj/item/weapon/storage/syndie_kit/imp_explosive/New()
- var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src)
- O.imp = new /obj/item/weapon/implant/explosive(O)
- O.name = "(BIO-HAZARD) BIO-detpack"
- O.update()
- ..()
- return
-
-/obj/item/weapon/storage/syndie_kit/imp_uplink
- name = "Uplink Implant (with injector)"
-
-/obj/item/weapon/storage/syndie_kit/imp_uplink/New()
- var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src)
- O.imp = new /obj/item/weapon/implant/uplink(O)
- O.update()
- ..()
- return
-
-/obj/item/weapon/storage/syndie_kit/space
- name = "Space Suit and Helmet"
-
-/obj/item/weapon/storage/syndie_kit/space/New()
- new /obj/item/clothing/suit/space/syndicate(src)
- new /obj/item/clothing/head/helmet/space/syndicate(src)
- ..()
- return
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm
deleted file mode 100644
index 58d9fa0acec..00000000000
--- a/code/WorkInProgress/Ported/Abi79/uplinks.dm
+++ /dev/null
@@ -1,467 +0,0 @@
-/*
-
-SYNDICATE UPLINKS
-
-TO-DO:
- Once wizard is fixed, make sure the uplinks work correctly for it. wizard.dm is right now uncompiled and with broken code in it.
-
- Clean the code up and comment it. Part of it is right now copy-pasted, with the general Topic() and modifications by Abi79.
-
- I should take a more in-depth look at both the copy-pasted code for the individual uplinks below, and at each gamemode's code
- to see how uplinks are assigned and if there are any bugs with those.
-
-
-A list of items and costs is stored under the datum of every game mode, alongside the number of crystals, and the welcoming message.
-
-*/
-
-/obj/item/device/uplink
- var/welcome // Welcoming menu message
- var/menu_message = "" // The actual menu text
- var/items // List of items
- var/list/ItemList // Parsed list of items
- var/uses // Numbers of crystals
- var/uplink_data // designated uplink items
- // List of items not to shove in their hands.
- var/list/NotInHand = list(/obj/machinery/singularity_beacon/syndicate)
-
- New()
- if(!welcome)
- welcome = ticker.mode.uplink_welcome
- if(!uplink_data)
- uplink_data = ticker.mode.uplink_items
-
- items = replacetext(uplink_data, "\n", "") // Getting the text string of items
- ItemList = dd_text2list(src.items, ";") // Parsing the items text string
- uses = ticker.mode.uplink_uses
-
-//Let's build a menu!
- proc/generate_menu()
- src.menu_message = "[src.welcome]
"
- src.menu_message += "Tele-Crystals left: [src.uses]
"
- src.menu_message += "
"
- src.menu_message += "Request item:
"
- src.menu_message += "Each item costs a number of tele-crystals as indicated by the number following their name.
"
-
- var/cost
- var/item
- var/name
- var/path_obj
- var/path_text
- var/category_items = 1 //To prevent stupid :P
-
- for(var/D in ItemList)
- var/list/O = stringsplit(D, ":")
- if(O.len != 3) //If it is not an actual item, make a break in the menu.
- if(O.len == 1) //If there is one item, it's probably a title
- src.menu_message += "[O[1]]
"
- category_items = 0
- else //Else, it's a white space.
- if(category_items < 1) //If there were no itens in the last category...
- src.menu_message += "We apologize, as you could not afford anything from this category.
"
- src.menu_message += "
"
- continue
-
- path_text = O[1]
- cost = text2num(O[2])
-
- if(cost>uses)
- continue
-
- path_obj = text2path(path_text)
- item = new path_obj()
- name = O[3]
- del item
-
- src.menu_message += "[name] ([cost])
"
- category_items++
-
-// src.menu_message += "Random Item (??)
"
- src.menu_message += "
"
- return
-
- Topic(href, href_list)
- if (href_list["buy_item"])
-/* if(href_list["buy_item"] == "random")
- var/list/randomItems = list()
-
- //Sorry for all the ifs, but it makes it 1000 times easier for other people/servers to add or remove items from this list
- //Add only items the player can afford:
- if(uses > 19)
- randomItems.Add("/obj/item/weapon/circuitboard/teleporter") //Teleporter Circuit Board (costs 20, for nuke ops)
-
- if(uses > 9)
- randomItems.Add("/obj/item/toy/syndicateballoon")//Syndicate Balloon
- randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_uplink") //Uplink Implanter
- randomItems.Add("/obj/item/weapon/storage/box/syndicate") //Syndicate bundle
-
- //if(uses > 8) //Nothing... yet.
- //if(uses > 7) //Nothing... yet.
-
- if(uses > 6)
- randomItems.Add("/obj/item/weapon/aiModule/syndicate") //Hacked AI Upload Module
- randomItems.Add("/obj/item/device/radio/beacon/syndicate") //Singularity Beacon
-
- if(uses > 5)
- randomItems.Add("/obj/item/weapon/gun/projectile") //Revolver
-
- if(uses > 4)
- randomItems.Add("/obj/item/weapon/gun/energy/crossbow") //Energy Crossbow
- randomItems.Add("/obj/item/device/powersink") //Powersink
-
- if(uses > 3)
- randomItems.Add("/obj/item/weapon/melee/energy/sword") //Energy Sword
- randomItems.Add("/obj/item/clothing/mask/gas/voice") //Voice Changer
- randomItems.Add("/obj/item/device/chameleon") //Chameleon Projector
-
- if(uses > 2)
- randomItems.Add("/obj/item/weapon/storage/emp_kit") //EMP Grenades
- randomItems.Add("/obj/item/weapon/pen/paralysis") //Paralysis Pen
- randomItems.Add("/obj/item/weapon/cartridge/syndicate") //Detomatix Cartridge
- randomItems.Add("/obj/item/clothing/under/chameleon") //Chameleon Jumpsuit
- randomItems.Add("/obj/item/weapon/card/id/syndicate") //Agent ID Card
- randomItems.Add("/obj/item/weapon/card/emag") //Cryptographic Sequencer
- randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit
- randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key
- randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant
- randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles
-
- if(uses > 1)
-/*
- var/list/usrItems = usr.get_contents() //Checks to see if the user has a revolver before giving ammo
- var/hasRevolver = 0
- for(var/obj/I in usrItems) //Only add revolver ammo if the user has a gun that can shoot it
- if(istype(I,/obj/item/weapon/gun/projectile))
- hasRevolver = 1
-
- if(hasRevolver) randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo
-*/
- randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo
- randomItems.Add("/obj/item/clothing/shoes/syndigaloshes") //No-Slip Syndicate Shoes
- randomItems.Add("/obj/item/weapon/plastique") //C4
-
- if(uses > 0)
- randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap
- randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox
-
- if(!randomItems)
- del(randomItems)
- return 0
- else
- href_list["buy_item"] = pick(randomItems)
-
- switch(href_list["buy_item"]) //Ok, this gets a little messy, sorry.
- if("/obj/item/weapon/circuitboard/teleporter")
- uses -= 20
- if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink" , "/obj/item/weapon/storage/box/syndicate")
- uses -= 10
- if("/obj/item/weapon/aiModule/syndicate" , "/obj/item/device/radio/beacon/syndicate")
- uses -= 7
- if("/obj/item/weapon/gun/projectile")
- uses -= 6
- if("/obj/item/weapon/gun/energy/crossbow" , "/obj/item/device/powersink")
- uses -= 5
- if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon")
- uses -= 4
- if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \
- "/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \
- "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal")
- uses -= 3
- if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique")
- uses -= 2
- if("/obj/item/weapon/soap/syndie" , "/obj/item/weapon/storage/toolbox/syndicate")
- uses -= 1
-
- del(randomItems)
- return 1
-*/
-
-
- if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item
- return 0
-
- if(usr:mind && ticker.mode.traitors[usr:mind])
- var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind]
- info.spawnlist += href_list["buy_item"]
-
- uses -= text2num(href_list["cost"])
-
- return 1
-
-
-/*
- *PDA uplink
- */
-
-//Syndicate uplink hidden inside a traitor PDA
-//Communicate with traitor through the PDA's note function.
-
-/obj/item/device/uplink/pda
- name = "uplink module"
- desc = "An electronic uplink system of unknown origin."
- icon = 'icons/obj/module.dmi'
- icon_state = "power_mod"
- var/obj/item/device/pda/hostpda = null
-
- var/orignote = null //Restore original notes when locked.
- var/active = 0 //Are we currently active?
- var/lock_code = "" //The unlocking password.
-
- proc
- unlock()
- if ((isnull(src.hostpda)) || (src.active))
- return
-
- src.orignote = src.hostpda.note
- src.active = 1
- src.hostpda.mode = 1 //Switch right to the notes program
-
- src.generate_menu()
- print_to_host(menu_message)
-
- for (var/mob/M in viewers(1, src.hostpda.loc))
- if (M.client && M.machine == src.hostpda)
- src.hostpda.attack_self(M)
-
- return
-
- print_to_host(var/text)
- if (isnull(hostpda))
- return
- hostpda.note = text
-
- for (var/mob/M in viewers(1, hostpda.loc))
- if (M.client && M.machine == hostpda)
- hostpda.attack_self(M)
- return
-
- shutdown_uplink()
- if (isnull(src.hostpda))
- return
- active = 0
- hostpda.note = orignote
- if (hostpda.mode==1)
- hostpda.mode = 0
- hostpda.updateDialog()
- return
-
- attack_self(mob/user as mob)
- src.generate_menu()
- src.hostpda.note = src.menu_message
-
-
- Topic(href, href_list)
- if ((isnull(src.hostpda)) || (!src.active))
- return
-
- if (usr.stat || usr.restrained() || !in_range(src.hostpda, usr))
- return
-
- if(..() == 1) // We can afford the item
- var/path_obj = text2path(href_list["buy_item"])
- var/mob/A = src.hostpda.loc
- var/item = new path_obj(get_turf(src.hostpda))
- if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner))
- if(!A.r_hand)
- item:loc = A
- A.r_hand = item
- item:layer = 20
- else if(!A.l_hand)
- item:loc = A
- A.l_hand = item
- item:layer = 20
- else
- item:loc = get_turf(A)
- usr.update_clothing()
- usr.client.onBought("[item:name]")
- /* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind
- del item*/
- //HEADFINDBACK
- src.attack_self(usr)
- src.hostpda.attack_self(usr)
- return
-
-
-/*
- *Portable radio uplink
- */
-
-//A Syndicate uplink disguised as a portable radio
-/obj/item/device/uplink/radio/implanted
- New()
- ..()
- uses = 5
- return
-
- explode()
- var/turf/location = get_turf(src.loc)
- if(location)
- location.hotspot_expose(700,125)
- explosion(location, 0, 0, 2, 4, 1)
-
- var/obj/item/weapon/implant/uplink/U = src.loc
- var/mob/living/A = U.imp_in
- var/datum/organ/external/head = A:organs["head"]
- head.destroyed = 1
- spawn(2)
- head.droplimb()
- del(src.master)
- del(src)
- return
-
-
-/obj/item/device/uplink/radio
- name = "ship bounced radio"
- icon = 'icons/obj/radio.dmi'
- icon_state = "radio"
- var/temp = null //Temporary storage area for a message offering the option to destroy the radio
- var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself.
- var/obj/item/device/radio/origradio = null
- flags = FPRINT | TABLEPASS | CONDUCT
- slot_flags = SLOT_BELT
- w_class = 2.0
- item_state = "radio"
- throwforce = 5
- throw_speed = 4
- throw_range = 20
- m_amt = 100
-
- attack_self(mob/user as mob)
- var/dat
-
- if (src.selfdestruct)
- dat = "Self Destructing..."
- else
- if (src.temp)
- dat = "[src.temp]
Clear"
- else
- src.generate_menu()
- dat = src.menu_message
- if (src.origradio) // Checking because sometimes the radio uplink may be spawned by itself, not as a normal unlockable radio
- dat += "Lock
"
- dat += "
"
- dat += "Self-Destruct"
-
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
-
- Topic(href, href_list)
- if (usr.stat || usr.restrained())
- return
-
- if (!( istype(usr, /mob/living/carbon/human)))
- return 1
-
- if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || istype(src.loc,/obj/item/weapon/implant/uplink)))
- usr.machine = src
-
- if(href_list["buy_item"])
- if(..() == 1) // We can afford the item
- var/path_obj = text2path(href_list["buy_item"])
- var/item = new path_obj(get_turf(src.loc))
- var/mob/A = src.loc
- if(istype(src.loc,/obj/item/weapon/implant/uplink))
- var/obj/item/weapon/implant/uplink/U = src.loc
- A = U.imp_in
- if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner))
- if(!A.r_hand)
- item:loc = A
- A.r_hand = item
- item:layer = 20
- else if(!A.l_hand)
- item:loc = A
- A.l_hand = item
- item:layer = 20
- else
- item:loc = get_turf(A)
- /* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind
- del item*/
- usr.client.onBought("[item:name]")
- src.attack_self(usr)
- return
-
- else if (href_list["lock"] && src.origradio)
- // presto chango, a regular radio again! (reset the freq too...)
- usr.machine = null
- usr << browse(null, "window=radio")
- var/obj/item/device/radio/T = src.origradio
- var/obj/item/device/uplink/radio/R = src
- R.loc = T
- T.loc = usr
- // R.layer = initial(R.layer)
- R.layer = 0
- if (usr.client)
- usr.client.screen -= R
- if (usr.r_hand == R)
- usr.u_equip(R)
- usr.r_hand = T
-
- else
- usr.u_equip(R)
- usr.l_hand = T
- R.loc = T
- T.layer = 20
- T.set_frequency(initial(T.frequency))
- T.attack_self(usr)
- return
-
- else if (href_list["selfdestruct"])
- src.temp = "Self-Destruct"
-
- else if (href_list["selfdestruct2"])
- src.selfdestruct = 1
- spawn (100)
- explode()
- return
-
- else if (href_list["clear_selfdestruct"])
- src.temp = null
-
- attack_self(usr)
-// if (istype(src.loc, /mob))
-// attack_self(src.loc)
-// else
-// for(var/mob/M in viewers(1, src))
-// if (M.client)
-// src.attack_self(M)
- return
-
- proc/explode()
- var/turf/location = get_turf(src.loc)
- if(location)
- location.hotspot_expose(700,125)
- explosion(location, 0, 0, 2, 4, 1)
-
- del(src.master)
- del(src)
- return
-
- proc/shutdown_uplink()
- if (!src.origradio)
- return
- var/list/nearby = viewers(1, src)
- for(var/mob/M in nearby)
- if (M.client && M.machine == src)
- M << browse(null, "window=radio")
- M.machine = null
-
- var/obj/item/device/radio/T = src.origradio
- var/obj/item/device/uplink/radio/R = src
- var/mob/L = src.loc
- R.loc = T
- T.loc = L
- // R.layer = initial(R.layer)
- R.layer = 0
- if (istype(L))
- if (L.client)
- L.client.screen -= R
- if (L.r_hand == R)
- L.u_equip(R)
- L.r_hand = T
- else
- L.u_equip(R)
- L.l_hand = T
- T.layer = 20
- T.set_frequency(initial(T.frequency))
- return
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Bureaucracy/copier.dm b/code/WorkInProgress/Ported/Bureaucracy/copier.dm
deleted file mode 100644
index 1374dc55205..00000000000
--- a/code/WorkInProgress/Ported/Bureaucracy/copier.dm
+++ /dev/null
@@ -1,145 +0,0 @@
-// Contains: copy machine
-
-/obj/machinery/copier
- name = "Copy Machine"
- icon = 'icons/obj/bureaucracy.dmi'
- icon_state = "copier_o"
- density = 1
- anchored = 1
- var/num_copies = 1 // number of copies selected, will be maintained between jobs
- var/copying = 0 // are we copying
- var/job_num_copies = 0 // number of copies remaining
- var/obj/item/weapon/template // the paper OR photo being scanned
- var/max_copies = 10 // MAP EDITOR: can set the number of max copies, possibly to 5 or something for public, more for QM, robutist, etc.
-
-/obj/machinery/copier/attackby(obj/item/weapon/O as obj, mob/user as mob)
- if(template)
- return
-
- if (istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo))
- // put it inside
- template = O
- usr.drop_item()
- O.loc = src
- update()
- updateDialog()
-
-/obj/machinery/copier/attack_paw(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/copier/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/copier/attack_hand(mob/user as mob)
- // da UI
- var/dat
- if(..())
- return
- user.machine = src
-
- if(src.stat)
- user << "[name] does not seem to be responding to your button mashing."
- return
-
- dat = "Copy MachineXeno Corp. Copying Machine
"
-
- if(copying)
- dat += "[job_num_copies] copies remaining.
"
- dat += "Cancel"
- else
- if(template)
- dat += "Open Lid"
- else
- dat += "No paper to be copied.
"
- dat += "Please place a paper or photograph on top and close the lid."
-
-
- dat += "
Number of Copies: "
- dat += "-"
- dat += "-"
- dat += " [num_copies] "
- dat += "+"
- dat += "+
"
-
- if(template)
- dat += "Copy"
-
- dat += ""
-
- user << browse(dat, "window=copy_machine")
- onclose(user, "copy_machine")
-
-/obj/machinery/copier/proc/update()
- if(template)
- icon_state = "copier"
- else
- icon_state = "copier_o"
-
-/obj/machinery/copier/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
-
- if(href_list["num"])
- num_copies += text2num(href_list["num"])
- if(num_copies < 1)
- num_copies = 1
- else if(num_copies > max_copies)
- num_copies = max_copies
- updateDialog()
- if(href_list["open"])
- if(copying)
- return
- template.loc = src.loc
- template = null
- updateDialog()
- update()
- if(href_list["copy"])
- if(copying)
- return
- job_num_copies = num_copies
- spawn(0)
- do_copy(usr)
-
- if(href_list["cancel"])
- job_num_copies = 0
-
-/obj/machinery/copier/proc/do_copy(mob/user)
- if(!copying && job_num_copies > 0)
- copying = 1
- updateDialog()
- while(job_num_copies > 0)
- if(stat)
- copying = 0
- return
-
- // fx
- flick("copier_s", src)
- playsound(src, 'sound/items/polaroid1.ogg', 50, 1)
-
- // dup the file
- if(istype(template, /obj/item/weapon/paper))
- // make duplicate paper
- var/obj/item/weapon/paper/P = new(src.loc)
- P.name = template.name
- P.info = template:info
- P.stamped = template:stamped
- P.icon_state = template.icon_state
- P.overlays = null
- for(var/overlay in template.overlays)
- P.overlays += overlay
- else if(istype(template, /obj/item/weapon/photo))
- // make duplicate photo
- var/obj/item/weapon/photo/P = new(src.loc)
- P.name = template.name
- P.desc = template.desc
- P.icon = template.icon
- P.img = template:img
-
- sleep(30)
- job_num_copies -= 1
- updateDialog()
- for(var/mob/O in hearers(src))
- O.show_message("[name] beeps happily.", 2)
- copying = 0
- updateDialog()
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Bureaucracy/filing.dm b/code/WorkInProgress/Ported/Bureaucracy/filing.dm
deleted file mode 100644
index 9e5a990f55c..00000000000
--- a/code/WorkInProgress/Ported/Bureaucracy/filing.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/obj/structure/filingcabinet
- name = "Filing Cabinet"
- desc = "A large cabinet with drawers."
- icon = 'icons/obj/bureaucracy.dmi'
- icon_state = "filingcabinet"
- density = 1
- anchored = 1
-
-/obj/structure/filingcabinet/attackby(obj/item/weapon/paper/P,mob/M)
- if(istype(P))
- M << "You put the [P] in the [src]."
- M.drop_item()
- P.loc = src
- else
- M << "You can't put a [P] in the [src]!"
-
-/obj/structure/filingcabinet/attack_hand(mob/user)
- if(src.contents.len <= 0)
- user << "The [src] is empty."
- return
- var/obj/item/weapon/paper/P = input(user,"Choose a sheet to take out.","[src]", "Cancel") as null|obj in src.contents
- if(!isnull(P) && in_range(src,user))
- P.loc = user.loc
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Spawners/spawner.dm b/code/WorkInProgress/Ported/Spawners/spawner.dm
deleted file mode 100644
index 875a05cc68e..00000000000
--- a/code/WorkInProgress/Ported/Spawners/spawner.dm
+++ /dev/null
@@ -1,208 +0,0 @@
-/obj/spawner
- name = "object spawner"
-
-/obj/spawner/bomb
- name = "bomb"
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x"
- var/btype = 0 //0 = radio, 1= prox, 2=time
- var/explosive = 1 // 0= firebomb
- var/btemp = 500 // bomb temperature (degC)
- var/active = 0
-
-/obj/spawner/bomb/radio
- btype = 0
-
-/obj/spawner/bomb/proximity
- btype = 1
-
-/obj/spawner/bomb/timer
- btype = 2
-
-/obj/spawner/bomb/timer/syndicate
- btemp = 450
-
-/obj/spawner/bomb/suicide
- btype = 3
-
-/obj/spawner/newbomb
- // Remember to delete it if you use it for anything else other than uplinks. See the commented line in its New() - Abi
- // Going in depth: the reason we do not do a Del() in its New()is because then we cannot access its properties.
- // I might be doing this wrong / not knowing of a Byond function. If I'm doing it wrong, let me know please.
- name = "bomb"
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x"
- var/btype = 0 // 0=radio, 1=prox, 2=time
- var/btemp1 = 1500
- var/btemp2 = 1000 // tank temperatures
-
-/obj/spawner/newbomb/timer
- btype = 2
-
-/obj/spawner/newbomb/timer/syndicate
- name = "Low-Yield Bomb"
- btemp1 = 1500
- btemp2 = 1000
-
-/obj/spawner/newbomb/proximity
- btype = 1
-
-/obj/spawner/newbomb/radio
- btype = 0
-
-/obj/spawner/bomb/New()
- ..()
-
- switch (src.btype)
- // radio
- if (0)
- var/obj/item/assembly/r_i_ptank/R = new /obj/item/assembly/r_i_ptank(src.loc)
- var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R)
- var/obj/item/device/radio/signaler/p1 = new /obj/item/device/radio/signaler(R)
- var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R)
- R.part1 = p1
- R.part2 = p2
- R.part3 = p3
- p1.master = R
- p2.master = R
- p3.master = R
- R.status = explosive
- p1.b_stat = 0
- p2.status = 1
- p3.air_contents.temperature = btemp + T0C
-
- // proximity
- if (1)
- var/obj/item/assembly/m_i_ptank/R = new /obj/item/assembly/m_i_ptank(src.loc)
- var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R)
- var/obj/item/device/prox_sensor/p1 = new /obj/item/device/prox_sensor(R)
- var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R)
- R.part1 = p1
- R.part2 = p2
- R.part3 = p3
- p1.master = R
- p2.master = R
- p3.master = R
- R.status = explosive
-
- p3.air_contents.temperature = btemp + T0C
- p2.status = 1
-
- if(src.active)
- R.part1.state = 1
- R.part1.icon_state = text("motion[]", 1)
- R.c_state(1, src)
-
- // timer
- if (2)
- var/obj/item/assembly/t_i_ptank/R = new /obj/item/assembly/t_i_ptank(src.loc)
- var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R)
- var/obj/item/device/timer/p1 = new /obj/item/device/timer(R)
- var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R)
- R.part1 = p1
- R.part2 = p2
- R.part3 = p3
- p1.master = R
- p2.master = R
- p3.master = R
- R.status = explosive
-
- p3.air_contents.temperature = btemp + T0C
- p2.status = 1
- //bombvest
- if(3)
- var/obj/item/clothing/suit/armor/a_i_a_ptank/R = new /obj/item/clothing/suit/armor/a_i_a_ptank(src.loc)
- var/obj/item/weapon/tank/plasma/p4 = new /obj/item/weapon/tank/plasma(R)
- var/obj/item/device/healthanalyzer/p1 = new /obj/item/device/healthanalyzer(R)
- var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R)
- var/obj/item/clothing/suit/armor/vest/p3 = new /obj/item/clothing/suit/armor/vest(R)
- R.part1 = p1
- R.part2 = p2
- R.part3 = p3
- R.part4 = p4
- p1.master = R
- p2.master = R
- p3.master = R
- p4.master = R
- R.status = explosive
-
- p4.air_contents.temperature = btemp + T0C
- p2.status = 1
-
- del(src)
-
-
-/obj/spawner/newbomb/New()
- ..()
-
- switch (src.btype)
- // radio
- if (0)
-
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/plasma/PT = new(V)
- var/obj/item/weapon/tank/oxygen/OT = new(V)
-
- var/obj/item/device/radio/signaler/S = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = S
-
- S.master = V
- PT.master = V
- OT.master = V
-
- S.b_stat = 0
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
-
- // proximity
- if (1)
-
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/plasma/PT = new(V)
- var/obj/item/weapon/tank/oxygen/OT = new(V)
-
- var/obj/item/device/prox_sensor/P = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = P
-
- P.master = V
- PT.master = V
- OT.master = V
-
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
-
-
- // timer
- if (2)
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/plasma/PT = new(V)
- var/obj/item/weapon/tank/oxygen/OT = new(V)
-
- var/obj/item/device/timer/T = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = T
-
- T.master = V
- PT.master = V
- OT.master = V
- T.time = 30
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
- //del(src)
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/sql.dm b/code/WorkInProgress/Ported/sql.dm
deleted file mode 100644
index 9e0cad90ad5..00000000000
--- a/code/WorkInProgress/Ported/sql.dm
+++ /dev/null
@@ -1,71 +0,0 @@
-//This looks to be the traitor win tracker code.
-client/proc/add_roundsjoined()
- if(!makejson)
- return
- var/DBConnection/dbcon = new()
-
- dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
- if(!dbcon.IsConnected()) return
-
- var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `roundsjoined` (`ckey`) VALUES ('[ckey(src.key)]')")
- if(!cquery.Execute()) message_admins(cquery.ErrorMsg())
-
-client/proc/add_roundssurvived()
- if(!makejson)
- return
- var/DBConnection/dbcon = new()
-
- dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
- if(!dbcon.IsConnected()) return
-
- var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `roundsurvived` (`ckey`) VALUES ('[ckey(src.key)]')")
- if(!cquery.Execute()) message_admins(cquery.ErrorMsg())
-
-client/proc/onDeath()
- if(!makejson)
- return
- roundinfo.deaths++
- if(!ismob(mob))
- return
- var/area = get_area(mob)
- var/attacker
- var/tod = time2text(world.realtime)
- var/health
- var/last
- if(ishuman(mob.lastattacker))
- attacker = mob.lastattacker:name
- else
- attacker = "None"
- health = "Oxy:[mob.oxyloss]Brute:[mob.bruteloss]Burn:[mob.fireloss]Toxins:[mob.toxloss]Brain:[mob.brainloss]"
- if(mob.attack_log.len >= 1)
- last = mob.attack_log[mob.attack_log.len]
- else
- last = "None"
-
- var/DBConnection/dbcon = new()
-
- dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
- if(!dbcon.IsConnected()) return
-
- var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `deathlog` (`ckey`,`location`,`lastattacker`,`ToD`,`health`,`lasthit`) VALUES ('[ckey]',[dbcon.Quote(area)],[dbcon.Quote(attacker)],'[tod]','[health]',[dbcon.Quote(last)])")
- if(!cquery.Execute()) message_admins(cquery.ErrorMsg())
-
-client/proc/onBought(names)
- if(!makejson) return
- if(!names) return
- var/DBConnection/dbcon = new()
-
- dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
- if(!dbcon.IsConnected()) return
-
- var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `traitorbuy` (`type`) VALUES ([dbcon.Quote(names)])")
- if(!cquery.Execute()) message_admins(cquery.ErrorMsg())
-
-datum/roundinfo
- var/core = 0
- var/deaths = 0
- var/revies = 0
- var/starttime = 0
- var/endtime = 0
- var/lenght = 0
- var/mode = 0
\ No newline at end of file
diff --git a/code/WorkInProgress/Sayu/belt.dm b/code/WorkInProgress/Sayu/belt.dm
deleted file mode 100644
index 3544ece08f8..00000000000
--- a/code/WorkInProgress/Sayu/belt.dm
+++ /dev/null
@@ -1,164 +0,0 @@
-// -------------------------------------
-// Bluespace Belt
-// -------------------------------------
-
-
-/obj/item/weapon/storage/belt/bluespace
- name = "Belt of Holding"
- desc = "The greatest in pants-supporting technology."
- icon_state = "medicalbelt"
- item_state = "medical"
- storage_slots = 14
- w_class = 4
- max_w_class = 2
- max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate
- origin_tech = "bluespace=4"
- can_hold = list()
- New()
- if(prob(5))
- //Sometimes people choose justice.
- //Sometimes justice chooses you.
- visible_message("That doesn't look like a normal Toolbelt of Holding...")
- new /obj/item/weapon/storage/belt/bluespace/owlman(loc)
- spawn(1)
- del src
- return
- ..()
-
- proc/failcheck(mob/user as mob)
- if (prob(src.reliability)) return 1 //No failure
- if (prob(src.reliability))
- user << "\red The Bluespace portal resists your attempt to add another item." //light failure
- else
- user << "\red The Bluespace generator malfunctions!"
- for (var/obj/O in src.contents) //it broke, delete what was in it
- del(O)
- crit_fail = 1
- return 0
-
-/obj/item/weapon/storage/belt/bluespace/owlman
- name = "Owlman's utility belt"
- desc = "Sometimes people choose justice. Sometimes, justice chooses you..."
- icon_state = "securitybelt"
- item_state = "security"
- storage_slots = 14
- max_w_class = 3
- max_combined_w_class = 28 // = 14 * 2
- origin_tech = "bluespace=4;syndicate=2"
- allow_quick_empty = 1
- can_hold = list()
- New()
- ..()
- new /obj/item/clothing/mask/gas/owl_mask(src)
- new /obj/item/clothing/under/owl(src)
- new /obj/item/weapon/grenade/smokebomb(src)
- new /obj/item/weapon/grenade/smokebomb(src)
- new /obj/item/device/detective_scanner(src)
-
-
-
- // As a last resort, the belt can be used as a plastic explosive with a fixed timer (15 seconds). Naturally, you'll lose all your gear...
- // Of course, it could be worse. It could spawn a singularity!
-/obj/item/weapon/storage/belt/bluespace/owlman/afterattack(atom/target as obj|turf, mob/user as mob, flag)
- if (!flag)
- return
- if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage) || istype(target, /obj/structure/table) || istype(target, /obj/structure/closet))
- return
- user << "Planting explosives..."
- user.visible_message("[user.name] is fiddling with their toolbelt.")
- if(ismob(target))
- user.attack_log += "\[[time_stamp()]\] [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])"
- log_attack(" [user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey])")
- user.visible_message("\red [user.name] is trying to strap a belt to [target.name]!")
-
-
- if(do_after(user, 50) && in_range(user, target))
- user.drop_item()
- target = target
- loc = null
- var/location
- if (isturf(target)) location = target
- if (ismob(target))
- target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])"
- user.visible_message("\red [user.name] finished planting an explosive on [target.name]!")
- target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
- user << "You sacrifice your belt for the sake of justice. Timer counting down from 15."
- spawn(150)
- if(target)
- if(ismob(target) || isobj(target))
- location = target.loc // These things can move
- explosion(location, -1, -1, 2, 3)
- if (istype(target, /turf/simulated/wall)) target:dismantle_wall(1)
- else target.ex_act(1)
- if (isobj(target))
- if (target)
- del(target)
- if (src)
- del(src)
-/obj/item/weapon/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone)
- return
-
-/obj/item/weapon/storage/belt/bluespace/admin
- name = "Admin's Tool-belt"
- desc = "Holds everything for those that run everything."
- icon_state = "soulstonebelt"
- item_state = "soulstonebelt"
- w_class = 10 // permit holding other storage items
- storage_slots = 28
- max_w_class = 10
- max_combined_w_class = 280
- can_hold = list()
-
- New()
- ..()
- new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/screwdriver(src)
- new /obj/item/weapon/weldingtool/hugetank(src)
- new /obj/item/weapon/wirecutters(src)
- new /obj/item/weapon/wrench(src)
- new /obj/item/device/multitool(src)
- new /obj/item/stack/cable_coil(src)
-
- new /obj/item/weapon/handcuffs(src)
- new /obj/item/weapon/dnainjector/xraymut(src)
- new /obj/item/weapon/dnainjector/firemut(src)
- new /obj/item/weapon/dnainjector/telemut(src)
- new /obj/item/weapon/dnainjector/hulkmut(src)
-// new /obj/item/weapon/spellbook(src) // for smoke effects, door openings, etc
-// new /obj/item/weapon/magic/spellbook(src)
-
-// new/obj/item/weapon/reagent_containers/hypospray/admin(src)
-
-/obj/item/weapon/storage/belt/bluespace/sandbox
- name = "Sandbox Mode Toolbelt"
- desc = "Holds whatever, you can spawn your own damn stuff."
- w_class = 10 // permit holding other storage items
- storage_slots = 28
- max_w_class = 10
- max_combined_w_class = 280
- can_hold = list()
-
- New()
- ..()
- new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/screwdriver(src)
- new /obj/item/weapon/weldingtool/hugetank(src)
- new /obj/item/weapon/wirecutters(src)
- new /obj/item/weapon/wrench(src)
- new /obj/item/device/multitool(src)
- new /obj/item/stack/cable_coil(src)
-
- new /obj/item/device/analyzer(src)
- new /obj/item/device/healthanalyzer(src)
-
-
-//Research for the Bluespace Belt
-datum/design/bluespace_belt
- name = "Experimental Bluespace Belt"
- desc = "An astonishingly complex belt popularized by a rich blue-space technology magnate."
- id = "bluespace_belt"
- req_tech = list("bluespace" = 4, "materials" = 6)
- build_type = PROTOLATHE
- materials = list("$gold" = 1500, "$diamond" = 3000, "$uranium" = 1000)
- reliability_base = 80
- build_path = "/obj/item/weapon/storage/belt/bluespace"
\ No newline at end of file
diff --git a/code/WorkInProgress/Sigyn/Department Sec/__README.dm b/code/WorkInProgress/Sigyn/Department Sec/__README.dm
deleted file mode 100644
index e6b3f7967fd..00000000000
--- a/code/WorkInProgress/Sigyn/Department Sec/__README.dm
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-
-Hey you!
-You only need to untick maps/tgstation.2.0.9.dmm for this if you download the modified map from:
-http://tgstation13.googlecode.com/files/tgstation.2.1.0_deptsec.zip
-
-Everything else can just be ticked on top of the original stuff.
-*/
\ No newline at end of file
diff --git a/code/WorkInProgress/Sigyn/Department Sec/jobs.dm b/code/WorkInProgress/Sigyn/Department Sec/jobs.dm
deleted file mode 100644
index fe3ba1b8b4d..00000000000
--- a/code/WorkInProgress/Sigyn/Department Sec/jobs.dm
+++ /dev/null
@@ -1,126 +0,0 @@
-var/list/sec_departments = list("engineering", "supply", "medical", "science")
-
-proc/assign_sec_to_department(var/mob/living/carbon/human/H)
- if(sec_departments.len)
- var/department = pick(sec_departments)
- sec_departments -= department
- var/access = null
- var/destination = null
- switch(department)
- if("supply")
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/cargo(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/supply(H), slot_l_ear)
- access = list(access_mailsorting, access_mining)
- destination = /area/security/checkpoint/supply
- if("engineering")
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/engine(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/engi(H), slot_l_ear)
- access = list(access_construction, access_engine)
- destination = /area/security/checkpoint/engineering
- if("medical")
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/med(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/med(H), slot_l_ear)
- access = list(access_medical)
- destination = /area/security/checkpoint/medical
- if("science")
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/science(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/sci(H), slot_l_ear)
- access = list(access_research)
- destination = /area/security/checkpoint/science
- else
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
-
-
- if(destination)
- var/teleport = 0
- if(!ticker || ticker.current_state <= GAME_STATE_SETTING_UP)
- teleport = 1
- spawn(15)
- if(H)
- if(teleport)
- var/turf/T
- var/safety = 0
- while(safety < 25)
- T = pick(get_area_turfs(destination))
- if(!H.Move(T))
- safety += 1
- continue
- else
- break
- H << "You have been assigned to [department]!"
- if(locate(/obj/item/weapon/card/id, H))
- var/obj/item/weapon/card/id/I = locate(/obj/item/weapon/card/id, H)
- if(I)
- I.access |= access
-
-
-/datum/job/officer
- title = "Security Officer"
- flag = OFFICER
- department_flag = ENGSEC
- faction = "Station"
- total_positions = 5
- spawn_positions = 5
- supervisors = "the head of security, and the head of your assigned department (if applicable)"
- selection_color = "#ffeeee"
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back)
- assign_sec_to_department(H)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store)
- H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- return 1
-
-/obj/item/device/radio/headset/headset_sec/department/New()
- if(radio_controller)
- initialize()
- recalculateChannels()
-
-/obj/item/device/radio/headset/headset_sec/department/engi
- keyslot1 = new /obj/item/device/encryptionkey/headset_sec
- keyslot2 = new /obj/item/device/encryptionkey/headset_eng
-
-/obj/item/device/radio/headset/headset_sec/department/supply
- keyslot1 = new /obj/item/device/encryptionkey/headset_sec
- keyslot2 = new /obj/item/device/encryptionkey/headset_cargo
-
-/obj/item/device/radio/headset/headset_sec/department/med
- keyslot1 = new /obj/item/device/encryptionkey/headset_sec
- keyslot2 = new /obj/item/device/encryptionkey/headset_med
-
-/obj/item/device/radio/headset/headset_sec/department/sci
- keyslot1 = new /obj/item/device/encryptionkey/headset_sec
- keyslot2 = new /obj/item/device/encryptionkey/headset_sci
-
-/obj/item/clothing/under/rank/security/cargo/New()
- var/obj/item/clothing/tie/armband/cargo/A = new /obj/item/clothing/tie/armband/cargo
- hastie = A
-
-/obj/item/clothing/under/rank/security/engine/New()
- var/obj/item/clothing/tie/armband/engine/A = new /obj/item/clothing/tie/armband/engine
- hastie = A
-
-/obj/item/clothing/under/rank/security/science/New()
- var/obj/item/clothing/tie/armband/science/A = new /obj/item/clothing/tie/armband/science
- hastie = A
-
-/obj/item/clothing/under/rank/security/med/New()
- var/obj/item/clothing/tie/armband/medgreen/A = new /obj/item/clothing/tie/armband/medgreen
- hastie = A
\ No newline at end of file
diff --git a/code/WorkInProgress/Sigyn/Softcurity/__README.dm b/code/WorkInProgress/Sigyn/Softcurity/__README.dm
deleted file mode 100644
index 75c62c277d5..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/__README.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-
-Hey you!
-You'll need to untick code/game/jobs/access.dm for this to all work correctly!
-
-Everything else can just be ticked on top of the original stuff.
-
-You'll also need to download a modified map from http://tgstation13.googlecode.com/files/tgstation.2.0.9_Softcurity.zip.
-Make sure to untick the original map!
-*/
\ No newline at end of file
diff --git a/code/WorkInProgress/Sigyn/Softcurity/access.dm b/code/WorkInProgress/Sigyn/Softcurity/access.dm
deleted file mode 100644
index d0dace17bf7..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/access.dm
+++ /dev/null
@@ -1,522 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
-
-/var/const/access_security = 1 // Security equipment
-/var/const/access_brig = 2 // Brig timers and permabrig
-/var/const/access_armory = 3
-/var/const/access_forensics_lockers= 4
-/var/const/access_medical = 5
-/var/const/access_morgue = 6
-/var/const/access_tox = 7
-/var/const/access_tox_storage = 8
-/var/const/access_genetics = 9
-/var/const/access_engine = 10
-/var/const/access_engine_equip= 11
-/var/const/access_maint_tunnels = 12
-/var/const/access_external_airlocks = 13
-/var/const/access_emergency_storage = 14
-/var/const/access_change_ids = 15
-/var/const/access_ai_upload = 16
-/var/const/access_teleporter = 17
-/var/const/access_eva = 18
-/var/const/access_heads = 19
-/var/const/access_captain = 20
-/var/const/access_all_personal_lockers = 21
-/var/const/access_chapel_office = 22
-/var/const/access_tech_storage = 23
-/var/const/access_atmospherics = 24
-/var/const/access_bar = 25
-/var/const/access_janitor = 26
-/var/const/access_crematorium = 27
-/var/const/access_kitchen = 28
-/var/const/access_robotics = 29
-/var/const/access_rd = 30
-/var/const/access_cargo = 31
-/var/const/access_construction = 32
-/var/const/access_chemistry = 33
-/var/const/access_cargo_bot = 34
-/var/const/access_hydroponics = 35
-/var/const/access_manufacturing = 36
-/var/const/access_library = 37
-/var/const/access_lawyer = 38
-/var/const/access_virology = 39
-/var/const/access_cmo = 40
-/var/const/access_qm = 41
-/var/const/access_court = 42
-/var/const/access_clown = 43
-/var/const/access_mime = 44
-/var/const/access_surgery = 45
-/var/const/access_theatre = 46
-/var/const/access_research = 47
-/var/const/access_mining = 48
-/var/const/access_mining_office = 49 //not in use
-/var/const/access_mailsorting = 50
-/var/const/access_mint = 51
-/var/const/access_mint_vault = 52
-/var/const/access_heads_vault = 53
-/var/const/access_mining_station = 54
-/var/const/access_xenobiology = 55
-/var/const/access_ce = 56
-/var/const/access_hop = 57
-/var/const/access_hos = 58
-/var/const/access_RC_announce = 59 //Request console announcements
-/var/const/access_keycard_auth = 60 //Used for events which require at least two people to confirm them
-/var/const/access_tcomsat = 61 // has access to the entire telecomms satellite / machinery
-/var/const/access_gateway = 62
-/var/const/access_sec_doors = 63 // Security front doors
-
- //BEGIN CENTCOM ACCESS
- /*Should leave plenty of room if we need to add more access levels.
-/var/const/Mostly for admin fun times.*/
-/var/const/access_cent_general = 101//General facilities.
-/var/const/access_cent_thunder = 102//Thunderdome.
-/var/const/access_cent_specops = 103//Special Ops.
-/var/const/access_cent_medical = 104//Medical/Research
-/var/const/access_cent_living = 105//Living quarters.
-/var/const/access_cent_storage = 106//Generic storage areas.
-/var/const/access_cent_teleporter = 107//Teleporter.
-/var/const/access_cent_creed = 108//Creed's office.
-/var/const/access_cent_captain = 109//Captain's office/ID comp/AI.
-
- //The Syndicate
-/var/const/access_syndicate = 150//General Syndicate Access
-
- //MONEY
-/var/const/access_crate_cash = 200
-
-/obj/var/list/req_access = null
-/obj/var/req_access_txt = "0"
-/obj/var/list/req_one_access = null
-/obj/var/req_one_access_txt = "0"
-
-/obj/New()
- ..()
- //NOTE: If a room requires more than one access (IE: Morgue + medbay) set the req_acesss_txt to "5;6" if it requires 5 and 6
- if(src.req_access_txt)
- var/list/req_access_str = text2list(req_access_txt,";")
- if(!req_access)
- req_access = list()
- for(var/x in req_access_str)
- var/n = text2num(x)
- if(n)
- req_access += n
-
- if(src.req_one_access_txt)
- var/list/req_one_access_str = text2list(req_one_access_txt,";")
- if(!req_one_access)
- req_one_access = list()
- for(var/x in req_one_access_str)
- var/n = text2num(x)
- if(n)
- req_one_access += n
-
-
-
-//returns 1 if this mob has sufficient access to use this object
-/obj/proc/allowed(mob/M)
- //check if it doesn't require any access at all
- if(src.check_access(null))
- return 1
- if(istype(M, /mob/living/silicon))
- //AI can do whatever he wants
- return 1
- else if(istype(M, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- //if they are holding or wearing a card that has access, that works
- if(src.check_access(H.get_active_hand()) || src.check_access(H.wear_id))
- return 1
- else if(istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/alien/humanoid))
- var/mob/living/carbon/george = M
- //they can only hold things :(
- if(george.get_active_hand() && (istype(george.get_active_hand(), /obj/item/weapon/card/id) || istype(george.get_active_hand(), /obj/item/device/pda)) && src.check_access(george.get_active_hand()))
- return 1
- return 0
-
-/obj/item/proc/GetAccess()
- return list()
-
-/obj/item/proc/GetID()
- return null
-
-/obj/proc/check_access(obj/item/weapon/card/id/I)
-
- if (istype(I, /obj/item/device/pda))
- var/obj/item/device/pda/pda = I
- I = pda.id
-
- if(!src.req_access && !src.req_one_access) //no requirements
- return 1
- if(!istype(src.req_access, /list)) //something's very wrong
- return 1
-
- var/list/L = src.req_access
- if(!L.len && (!src.req_one_access || !src.req_one_access.len)) //no requirements
- return 1
- if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access
- return 0
- for(var/req in src.req_access)
- if(!(req in I.access)) //doesn't have this access
- return 0
- if(src.req_one_access && src.req_one_access.len)
- for(var/req in src.req_one_access)
- if(req in I.access) //has an access from the single access list
- return 1
- return 0
- return 1
-
-
-/obj/proc/check_access_list(var/list/L)
- if(!src.req_access && !src.req_one_access) return 1
- if(!istype(src.req_access, /list)) return 1
- if(!src.req_access.len && (!src.req_one_access || !src.req_one_access.len)) return 1
- if(!L) return 0
- if(!istype(L, /list)) return 0
- for(var/req in src.req_access)
- if(!(req in L)) //doesn't have this access
- return 0
- if(src.req_one_access && src.req_one_access.len)
- for(var/req in src.req_one_access)
- if(req in L) //has an access from the single access list
- return 1
- return 0
- return 1
-
-
-/proc/get_access(job)
- switch(job)
- if("Geneticist")
- return list(access_medical, access_morgue, access_genetics)
- if("Station Engineer")
- return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
- if("Assistant")
- if(config.assistant_maint)
- return list(access_maint_tunnels)
- else
- return list()
- if("Chaplain")
- return list(access_morgue, access_chapel_office, access_crematorium)
- if("Detective")
- return list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court)
- if("Medical Doctor")
- return list(access_medical, access_morgue, access_surgery)
- if("Botanist") // -- TLE
- return list(access_hydroponics, access_morgue) // Removed tox and chem access because STOP PISSING OFF THE CHEMIST GUYS // //Removed medical access because WHAT THE FUCK YOU AREN'T A DOCTOR YOU GROW WHEAT //Given Morgue access because they have a viable means of cloning.
- if("Librarian") // -- TLE
- return list(access_library)
- if("Lawyer") //Muskets 160910
- return list(access_lawyer, access_court, access_sec_doors)
- if("Captain")
- return get_all_accesses()
- if("Crew Supervisor")
- return list(access_security, access_sec_doors, access_brig, access_court)
- if("Correctional Advisor")
- return list(access_security, access_sec_doors, access_brig, access_armory, access_court)
- if("Scientist")
- return list(access_tox, access_tox_storage, access_research, access_xenobiology)
- if("Safety Administrator")
- return list(access_medical, access_morgue, access_tox, access_tox_storage, access_chemistry, access_genetics, access_court,
- access_teleporter, access_heads, access_tech_storage, access_security, access_sec_doors, access_brig, access_atmospherics,
- access_maint_tunnels, access_bar, access_janitor, access_kitchen, access_robotics, access_armory, access_hydroponics,
- access_theatre, access_research, access_hos, access_RC_announce, access_forensics_lockers, access_keycard_auth, access_gateway)
- if("Head of Personnel")
- return list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers,
- access_tox, access_tox_storage, access_chemistry, access_medical, access_genetics, access_engine,
- access_emergency_storage, access_change_ids, access_ai_upload, access_eva, access_heads,
- access_all_personal_lockers, access_tech_storage, access_maint_tunnels, access_bar, access_janitor,
- access_crematorium, access_kitchen, access_robotics, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer,
- access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
- access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway)
- if("Atmospheric Technician")
- return list(access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction)
- if("Bartender")
- return list(access_bar)
- if("Chemist")
- return list(access_medical, access_chemistry)
- if("Janitor")
- return list(access_janitor, access_maint_tunnels)
- if("Clown")
- return list(access_clown, access_theatre)
- if("Mime")
- return list(access_mime, access_theatre)
- if("Chef")
- return list(access_kitchen, access_morgue)
- if("Roboticist")
- return list(access_robotics, access_tech_storage, access_morgue) //As a job that handles so many corpses, it makes sense for them to have morgue access.
- if("Cargo Technician")
- return list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting)
- if("Shaft Miner")
- return list(access_mining, access_mint, access_mining_station)
- if("Quartermaster")
- return list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station)
- if("Chief Engineer")
- return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
- access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
- access_heads, access_ai_upload, access_construction, access_robotics,
- access_mint, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_sec_doors)
- if("Research Director")
- return list(access_rd, access_heads, access_tox, access_genetics,
- access_tox_storage, access_teleporter,
- access_research, access_robotics, access_xenobiology,
- access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_sec_doors)
- if("Virologist")
- return list(access_medical, access_virology)
- if("Chief Medical Officer")
- return list(access_medical, access_morgue, access_genetics, access_heads,
- access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
- access_keycard_auth, access_sec_doors)
- else
- return list()
-
-/proc/get_centcom_access(job)
- switch(job)
- if("VIP Guest")
- return list(access_cent_general)
- if("Custodian")
- return list(access_cent_general, access_cent_living, access_cent_storage)
- if("Thunderdome Overseer")
- return list(access_cent_general, access_cent_thunder)
- if("Intel Officer")
- return list(access_cent_general, access_cent_living)
- if("Medical Officer")
- return list(access_cent_general, access_cent_living, access_cent_medical)
- if("Death Commando")
- return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
- if("Research Officer")
- return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_teleporter, access_cent_storage)
- if("BlackOps Commander")
- return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_living, access_cent_storage, access_cent_creed)
- if("Supreme Commander")
- return get_all_centcom_access()
-
-/proc/get_all_accesses()
- return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
- access_medical, access_genetics, access_morgue, access_rd,
- access_tox, access_tox_storage, access_chemistry, access_engine, access_engine_equip, access_maint_tunnels,
- access_external_airlocks, access_emergency_storage, access_change_ids, access_ai_upload,
- access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers,
- access_tech_storage, access_chapel_office, access_atmospherics, access_kitchen,
- access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_cargo_bot, access_construction,
- access_hydroponics, access_library, access_manufacturing, access_lawyer, access_virology, access_cmo, access_qm, access_clown, access_mime, access_surgery,
- access_theatre, access_research, access_mining, access_mailsorting, access_mint_vault, access_mint,
- access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce,
- access_keycard_auth, access_tcomsat, access_gateway)
-
-/proc/get_all_centcom_access()
- return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_creed, access_cent_captain)
-
-/proc/get_all_syndicate_access()
- return list(access_syndicate)
-
-/proc/get_region_accesses(var/code)
- switch(code)
- if(0)
- return get_all_accesses()
- if(1) //security
- return list(access_sec_doors, access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos)
- if(2) //medbay
- return list(access_medical, access_genetics, access_morgue, access_chemistry, access_virology, access_surgery, access_cmo)
- if(3) //research
- return list(access_research, access_tox, access_tox_storage, access_xenobiology, access_rd)
- if(4) //engineering and maintenance
- return list(access_maint_tunnels, access_engine, access_engine_equip, access_external_airlocks, access_tech_storage, access_atmospherics, access_construction, access_robotics, access_ce)
- if(5) //command
- return list(access_heads, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_all_personal_lockers, access_heads_vault, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_hop, access_captain)
- if(6) //station general
- return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
- if(7) //supply
- return list(access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_mining, access_mining_station)
-
-/proc/get_region_accesses_name(var/code)
- switch(code)
- if(0)
- return "All"
- if(1) //security
- return "Security"
- if(2) //medbay
- return "Medbay"
- if(3) //research
- return "Research"
- if(4) //engineering and maintenance
- return "Engineering"
- if(5) //command
- return "Command"
- if(6) //station general
- return "Station General"
- if(7) //supply
- return "Supply"
-
-
-/proc/get_access_desc(A)
- switch(A)
- if(access_cargo)
- return "Cargo Bay"
- if(access_cargo_bot)
- return "Cargo Bot Delivery"
- if(access_security)
- return "Security"
- if(access_brig)
- return "Holding Cells"
- if(access_court)
- return "Courtroom"
- if(access_forensics_lockers)
- return "Detective's Office"
- if(access_medical)
- return "Medical"
- if(access_genetics)
- return "Genetics Lab"
- if(access_morgue)
- return "Morgue"
- if(access_tox)
- return "Research Lab"
- if(access_tox_storage)
- return "Toxins Storage"
- if(access_chemistry)
- return "Chemistry Lab"
- if(access_rd)
- return "RD Private"
- if(access_bar)
- return "Bar"
- if(access_janitor)
- return "Custodial Closet"
- if(access_engine)
- return "Engineering"
- if(access_engine_equip)
- return "APCs"
- if(access_maint_tunnels)
- return "Maintenance"
- if(access_external_airlocks)
- return "External Airlocks"
- if(access_emergency_storage)
- return "Emergency Storage"
- if(access_change_ids)
- return "ID Computer"
- if(access_ai_upload)
- return "AI Upload"
- if(access_teleporter)
- return "Teleporter"
- if(access_eva)
- return "EVA"
- if(access_heads)
- return "Bridge"
- if(access_captain)
- return "Captain Private"
- if(access_all_personal_lockers)
- return "Personal Lockers"
- if(access_chapel_office)
- return "Chapel Office"
- if(access_tech_storage)
- return "Technical Storage"
- if(access_atmospherics)
- return "Atmospherics"
- if(access_crematorium)
- return "Crematorium"
- if(access_armory)
- return "Armory"
- if(access_construction)
- return "Construction Areas"
- if(access_kitchen)
- return "Kitchen"
- if(access_hydroponics)
- return "Hydroponics"
- if(access_library)
- return "Library"
- if(access_lawyer)
- return "Law Office"
- if(access_robotics)
- return "Robotics"
- if(access_virology)
- return "Virology"
- if(access_cmo)
- return "CMO Private"
- if(access_qm)
- return "Quartermaster's Office"
- if(access_clown)
- return "HONK! Access"
- if(access_mime)
- return "Silent Access"
- if(access_surgery)
- return "Surgery"
- if(access_theatre)
- return "Theatre"
- if(access_manufacturing)
- return "Manufacturing"
- if(access_research)
- return "Science"
- if(access_mining)
- return "Mining"
- if(access_mining_office)
- return "Mining Office"
- if(access_mailsorting)
- return "Delivery Office"
- if(access_mint)
- return "Mint"
- if(access_mint_vault)
- return "Mint Vault"
- if(access_heads_vault)
- return "Main Vault"
- if(access_mining_station)
- return "Mining Station EVA"
- if(access_xenobiology)
- return "Xenobiology Lab"
- if(access_hop)
- return "HoP Private"
- if(access_hos)
- return "HoS Private"
- if(access_ce)
- return "CE Private"
- if(access_RC_announce)
- return "RC Announcements"
- if(access_keycard_auth)
- return "Keycode Auth. Device"
- if(access_tcomsat)
- return "Telecommunications"
- if(access_gateway)
- return "Gateway"
- if(access_sec_doors)
- return "Brig"
-
-/proc/get_centcom_access_desc(A)
- switch(A)
- if(access_cent_general)
- return "Code Grey"
- if(access_cent_thunder)
- return "Code Yellow"
- if(access_cent_storage)
- return "Code Orange"
- if(access_cent_living)
- return "Code Green"
- if(access_cent_medical)
- return "Code White"
- if(access_cent_teleporter)
- return "Code Blue"
- if(access_cent_specops)
- return "Code Black"
- if(access_cent_creed)
- return "Code Silver"
- if(access_cent_captain)
- return "Code Gold"
-
-/proc/get_all_jobs()
- return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician",
- "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer",
- "Atmospheric Technician", "Roboticist", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist",
- "Research Director", "Scientist", "Head of Security", "Warden", "Detective", "Security Officer")
-
-/proc/get_all_centcom_jobs()
- return list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer","BlackOps Commander","Supreme Commander")
-
-/obj/proc/GetJobName()
- if (!istype(src, /obj/item/device/pda) && !istype(src,/obj/item/weapon/card/id))
- return
-
- var/jobName
-
- if(istype(src, /obj/item/device/pda))
- if(src:id)
- jobName = src:id:assignment
- if(istype(src, /obj/item/weapon/card/id))
- jobName = src:assignment
-
- if(jobName in get_all_jobs())
- return jobName
- else
- return "Unknown"
diff --git a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm
deleted file mode 100644
index 057c10cb575..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm
+++ /dev/null
@@ -1,33 +0,0 @@
-/obj/item/clothing/under/rank/administrator
- name = "safety administrator's jumpsuit"
- desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Safety Administrator\"."
- icon_state = "hosblueclothes"
- item_state = "ba_suit"
- color = "hosblueclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS | ONESIZEFITSALL
-
-/obj/item/clothing/under/rank/advisor
- name = "correctional advisor's jumpsuit"
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the words \"Correctional Advisor\" written on the shoulders."
- icon_state = "wardenblueclothes"
- item_state = "ba_suit"
- color = "wardenblueclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS | ONESIZEFITSALL
-
-/obj/item/clothing/under/rank/supervisor
- name = "crew supervisor's jumpsuit"
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
- icon_state = "officerblueclothes"
- item_state = "ba_suit"
- color = "officerblueclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS | ONESIZEFITSALL
-
-/obj/item/clothing/shoes/boots
- name = "boots"
- desc = "Nanotrasen-issue hard-toe safety boots."
- icon_state = "secshoes"
- item_state = "secshoes"
- color = "hosred"
\ No newline at end of file
diff --git a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm b/code/WorkInProgress/Sigyn/Softcurity/jobs.dm
deleted file mode 100644
index e2fad664381..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm
+++ /dev/null
@@ -1,152 +0,0 @@
-/datum/job/hos
- title = "Safety Administrator"
- flag = HOS
- department_flag = ENGSEC
- faction = "Station"
- total_positions = 1
- spawn_positions = 1
- supervisors = "the captain"
- selection_color = "#ffdddd"
- idtype = /obj/item/weapon/card/id/silver
- req_admin_notify = 1
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/administrator(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/taser(H), slot_s_store)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- return 1
-
-
-
-/datum/job/warden
- title = "Correctional Advisor"
- flag = WARDEN
- department_flag = ENGSEC
- faction = "Station"
- total_positions = 1
- spawn_positions = 1
- supervisors = "the safety administrator"
- selection_color = "#ffeeee"
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/advisor(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
- H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- return 1
-
-
-
-/datum/job/detective
- title = "Detective"
- flag = DETECTIVE
- department_flag = ENGSEC
- faction = "Station"
- total_positions = 1
- spawn_positions = 1
- supervisors = "the safety administrator"
- selection_color = "#ffeeee"
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(H), slot_head)
- var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
- CIG.light("")
- H.equip_to_slot_or_del(CIG, slot_wear_mask)
- H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/det_suit(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(H), slot_l_store)
-
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/device/detective_scanner(H), slot_in_backpack)
-
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- return 1
-
-
-
-/datum/job/officer
- title = "Crew Supervisor"
- flag = OFFICER
- department_flag = ENGSEC
- faction = "Station"
- total_positions = 5
- spawn_positions = 5
- supervisors = "the safety administrator"
- selection_color = "#ffeeee"
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/supervisor(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_r_store)
- H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- return 1
-
-/datum/job/hop
- title = "Head of Personnel"
- flag = HOP
- department_flag = CIVILIAN
- faction = "Station"
- total_positions = 1
- spawn_positions = 1
- supervisors = "the captain"
- selection_color = "#ddddff"
- idtype = /obj/item/weapon/card/id/silver
- req_admin_notify = 1
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_l_ear)
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/id_kit(H), slot_r_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/id_kit(H.back), slot_in_backpack)
- return 1
diff --git a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm b/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm
deleted file mode 100644
index 88f06f98e7c..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm
+++ /dev/null
@@ -1,235 +0,0 @@
-/obj/structure/closet/secure_closet/captains
- name = "Captain's Locker"
- req_access = list(access_captain)
- icon_state = "capsecure1"
- icon_closed = "capsecure"
- icon_locked = "capsecure1"
- icon_opened = "capsecureopen"
- icon_broken = "capsecurebroken"
- icon_off = "capsecureoff"
-
- New()
- sleep(2)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/captain(src)
- else
- new /obj/item/weapon/storage/backpack/satchel_cap(src)
- new /obj/item/clothing/suit/captunic(src)
- new /obj/item/clothing/head/helmet/cap(src)
- new /obj/item/clothing/under/rank/captain(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/weapon/cartridge/captain(src)
- new /obj/item/clothing/head/helmet/swat(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/device/radio/headset/heads/captain(src)
- new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
- new /obj/item/clothing/gloves/captain(src)
- new /obj/item/weapon/gun/energy/gun(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/hop
- name = "Head of Personnel's Locker"
- req_access = list(access_hop)
- icon_state = "hopsecure1"
- icon_closed = "hopsecure"
- icon_locked = "hopsecure1"
- icon_opened = "hopsecureopen"
- icon_broken = "hopsecurebroken"
- icon_off = "hopsecureoff"
-
- New()
- sleep(2)
- new /obj/item/clothing/under/rank/head_of_personnel(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/clothing/head/helmet(src)
- new /obj/item/weapon/cartridge/hop(src)
- new /obj/item/device/radio/headset/heads/hop(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/weapon/storage/id_kit(src)
- new /obj/item/weapon/storage/id_kit( src )
- new /obj/item/device/flash(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/hos
- name = "Safety Administrator's Locker"
- req_access = list(access_hos)
- icon_state = "hossecure1"
- icon_closed = "hossecure"
- icon_locked = "hossecure1"
- icon_opened = "hossecureopen"
- icon_broken = "hossecurebroken"
- icon_off = "hossecureoff"
-
- New()
- sleep(2)
- new /obj/item/weapon/storage/backpack/satchel_sec(src)
- new /obj/item/weapon/cartridge/hos(src)
- new /obj/item/device/radio/headset/heads/hos(src)
- new /obj/item/weapon/storage/lockbox/loyalty(src)
- new /obj/item/weapon/storage/flashbang_kit(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/gun/energy/taser(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/warden
- name = "Correctional Advisor's Locker"
- req_access = list(access_armory)
- icon_state = "wardensecure1"
- icon_closed = "wardensecure"
- icon_locked = "wardensecure1"
- icon_opened = "wardensecureopen"
- icon_broken = "wardensecurebroken"
- icon_off = "wardensecureoff"
-
-
- New()
- sleep(2)
- new /obj/item/weapon/storage/backpack/satchel_sec(src)
- new /obj/item/clothing/under/rank/advisor(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/weapon/storage/flashbang_kit(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/melee/baton(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/security
- name = "Crew Supervisor's Locker"
- req_access = list(access_security)
- icon_state = "sec1"
- icon_closed = "sec"
- icon_locked = "sec1"
- icon_opened = "secopen"
- icon_broken = "secbroken"
- icon_off = "secoff"
-
- New()
- sleep(2)
- new /obj/item/weapon/storage/backpack/satchel_sec(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/detective
- name = "Detective's Cabinet"
- req_access = list(access_forensics_lockers)
- icon_state = "cabinetdetective_locked"
- icon_closed = "cabinetdetective"
- icon_locked = "cabinetdetective_locked"
- icon_opened = "cabinetdetective_open"
- icon_broken = "cabinetdetective_broken"
- icon_off = "cabinetdetective_broken"
-
- New()
- sleep(2)
- new /obj/item/clothing/under/det(src)
- new /obj/item/clothing/suit/armor/det_suit(src)
- new /obj/item/clothing/suit/det_suit(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/head/det_hat(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/weapon/cartridge/detective(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/device/detective_scanner(src)
- new /obj/item/weapon/storage/box/evidence(src)
- return
-
-/obj/structure/closet/secure_closet/detective/update_icon()
- if(broken)
- icon_state = icon_broken
- else
- if(!opened)
- if(locked)
- icon_state = icon_locked
- else
- icon_state = icon_closed
- else
- icon_state = icon_opened
-
-/obj/structure/closet/secure_closet/injection
- name = "Lethal Injections"
- req_access = list(access_hos)
-
-
- New()
- sleep(2)
- new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src)
- new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src)
- return
-
-
-
-/obj/structure/closet/secure_closet/brig
- name = "Brig Locker"
- req_access = list(access_brig)
- anchored = 1
-
- New()
- new /obj/item/clothing/under/color/orange( src )
- new /obj/item/clothing/shoes/orange( src )
- return
-
-
-
-/obj/structure/closet/secure_closet/courtroom
- name = "Courtroom Locker"
- req_access = list(access_court)
-
- New()
- sleep(2)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/pen (src)
- new /obj/item/clothing/suit/judgerobe (src)
- new /obj/item/clothing/head/powdered_wig (src)
- new /obj/item/weapon/storage/briefcase(src)
- return
-
-/obj/structure/closet/secure_closet/wall
- name = "wall locker"
- req_access = list(access_security)
- icon_state = "wall-locker1"
- density = 1
- icon_closed = "wall-locker"
- icon_locked = "wall-locker1"
- icon_opened = "wall-lockeropen"
- icon_broken = "wall-lockerbroken"
- icon_off = "wall-lockeroff"
-
- //too small to put a man in
- large = 0
-
-/obj/structure/closet/secure_closet/wall/update_icon()
- if(broken)
- icon_state = icon_broken
- else
- if(!opened)
- if(locked)
- icon_state = icon_locked
- else
- icon_state = icon_closed
- else
- icon_state = icon_opened
diff --git a/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm b/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm
deleted file mode 100644
index 452670091f5..00000000000
--- a/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm
+++ /dev/null
@@ -1,311 +0,0 @@
-/obj/structure/closet/wardrobe
- name = "wardrobe"
- desc = "It's a storage unit for standard-issue Nanotrasen attire."
- icon_state = "blue"
- icon_closed = "blue"
-
-/obj/structure/closet/wardrobe/New()
- new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- return
-
-
-/obj/structure/closet/wardrobe/red
- name = "security wardrobe"
- icon_state = "red"
- icon_closed = "red"
-
-/obj/structure/closet/wardrobe/red/New()
- new /obj/item/clothing/under/rank/supervisor(src)
- new /obj/item/clothing/under/rank/supervisor(src)
- new /obj/item/clothing/under/rank/supervisor(src)
- new /obj/item/clothing/shoes/boots(src)
- new /obj/item/clothing/shoes/boots(src)
- new /obj/item/clothing/shoes/boots(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- return
-
-
-/obj/structure/closet/wardrobe/pink
- name = "pink wardrobe"
- icon_state = "pink"
- icon_closed = "pink"
-
-/obj/structure/closet/wardrobe/pink/New()
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- return
-
-/obj/structure/closet/wardrobe/black
- name = "black wardrobe"
- icon_state = "black"
- icon_closed = "black"
-
-/obj/structure/closet/wardrobe/black/New()
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/that(src)
- return
-
-
-/obj/structure/closet/wardrobe/chaplain_black
- name = "chapel wardrobe"
- desc = "It's a storage unit for Nanotrasen-approved religious attire."
- icon_state = "black"
- icon_closed = "black"
-
-/obj/structure/closet/wardrobe/chaplain_black/New()
- new /obj/item/clothing/under/rank/chaplain(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/suit/nun(src)
- new /obj/item/clothing/head/nun_hood(src)
- new /obj/item/clothing/suit/chaplain_hoodie(src)
- new /obj/item/clothing/head/chaplain_hood(src)
- new /obj/item/clothing/suit/holidaypriest(src)
- new /obj/item/weapon/storage/backpack/cultpack (src)
- new /obj/item/weapon/storage/fancy/candle_box(src)
- new /obj/item/weapon/storage/fancy/candle_box(src)
- return
-
-
-/obj/structure/closet/wardrobe/green
- name = "green wardrobe"
- icon_state = "green"
- icon_closed = "green"
-
-/obj/structure/closet/wardrobe/green/New()
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- return
-
-
-/obj/structure/closet/wardrobe/orange
- name = "prison wardrobe"
- desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
- icon_state = "orange"
- icon_closed = "orange"
-
-/obj/structure/closet/wardrobe/orange/New()
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- return
-
-
-/obj/structure/closet/wardrobe/yellow
- name = "yellow wardrobe"
- icon_state = "wardrobe-y"
- icon_closed = "wardrobe-y"
-
-/obj/structure/closet/wardrobe/yellow/New()
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- return
-
-
-/obj/structure/closet/wardrobe/atmospherics_yellow
- name = "atmospherics wardrobe"
- icon_state = "yellow"
- icon_closed = "yellow"
-
-/obj/structure/closet/wardrobe/atmospherics_yellow/New()
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- return
-
-
-
-/obj/structure/closet/wardrobe/engineering_yellow
- name = "engineering wardrobe"
- icon_state = "yellow"
- icon_closed = "yellow"
-
-/obj/structure/closet/wardrobe/engineering_yellow/New()
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- return
-
-
-/obj/structure/closet/wardrobe/white
- name = "white wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/white/New()
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- return
-
-
-/obj/structure/closet/wardrobe/pjs
- name = "Pajama wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/pjs/New()
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/blue(src)
- new /obj/item/clothing/under/pj/blue(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- return
-
-
-/obj/structure/closet/wardrobe/toxins_white
- name = "toxins wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/toxins_white/New()
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/suit/labcoat(src)
- new /obj/item/clothing/suit/labcoat(src)
- new /obj/item/clothing/suit/labcoat(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- return
-
-
-/obj/structure/closet/wardrobe/robotics_black
- name = "robotics wardrobe"
- icon_state = "black"
- icon_closed = "black"
-
-/obj/structure/closet/wardrobe/robotics_black/New()
- new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/suit/labcoat(src)
- new /obj/item/clothing/suit/labcoat(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/gloves/black(src)
- return
-
-
-/obj/structure/closet/wardrobe/chemistry_white
- name = "chemistry wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/chemistry_white/New()
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/labcoat/chemist(src)
- new /obj/item/clothing/suit/labcoat/chemist(src)
- return
-
-
-/obj/structure/closet/wardrobe/genetics_white
- name = "genetics wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/genetics_white/New()
- new /obj/item/clothing/under/rank/geneticist(src)
- new /obj/item/clothing/under/rank/geneticist(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/labcoat/genetics(src)
- new /obj/item/clothing/suit/labcoat/genetics(src)
- return
-
-
-/obj/structure/closet/wardrobe/virology_white
- name = "virology wardrobe"
- icon_state = "white"
- icon_closed = "white"
-
-/obj/structure/closet/wardrobe/virology_white/New()
- new /obj/item/clothing/under/rank/virologist(src)
- new /obj/item/clothing/under/rank/virologist(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/labcoat/virologist(src)
- new /obj/item/clothing/suit/labcoat/virologist(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/clothing/mask/surgical(src)
- return
-
-
-/obj/structure/closet/wardrobe/grey
- name = "grey wardrobe"
- icon_state = "grey"
- icon_closed = "grey"
-
-/obj/structure/closet/wardrobe/grey/New()
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- return
-
-
-/obj/structure/closet/wardrobe/mixed
- name = "mixed wardrobe"
- icon_state = "mixed"
- icon_closed = "mixed"
-
-/obj/structure/closet/wardrobe/mixed/New()
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/white(src)
- return
diff --git a/code/WorkInProgress/SkyMarshal/Ultralight.dm b/code/WorkInProgress/SkyMarshal/Ultralight.dm
deleted file mode 100644
index f5065223c97..00000000000
--- a/code/WorkInProgress/SkyMarshal/Ultralight.dm
+++ /dev/null
@@ -1,385 +0,0 @@
-//UltraLight system, by Sukasa
-
-
-#define UL_I_FALLOFF_SQUARE 0
-#define UL_I_FALLOFF_ROUND 1
-
-#define UL_I_LIT 0
-#define UL_I_EXTINGUISHED 1
-#define UL_I_ONZERO 2
-#define UL_I_CHANGING 3
-
-#define ul_LightingEnabled 1
-//#define ul_LightingResolution 2
-//Uncomment if you want maybe slightly smoother lighting
-#define ul_Steps 7
-#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular.
-#define ul_Layer 10
-#define ul_TopLuminosity 12 //Maximum brightness an object can have.
-
-//#define ul_LightLevelChangedUpdates
-//Uncomment if you have code that you want triggered when the light level on an atom changes.
-
-
-#define ul_Clamp(Value) min(max(Value, 0), ul_Steps)
-#define ul_IsLuminous(A) (A.ul_Red || A.ul_Green || A.ul_Blue)
-#define ul_Luminosity(A) max(A.ul_Red, A.ul_Green, A.ul_Blue)
-
-
-#ifdef ul_LightingResolution
-var/ul_LightingResolutionSqrt = sqrt(ul_LightingResolution)
-#endif
-var/ul_SuppressLightLevelChanges = 0
-
-
-var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7)
-
-var/list/ul_IconCache = list()
-
-
-proc/ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src))
- for(var/atom/Light in ReApply)
- if(ul_IsLuminous(Light))
- Light.ul_Illuminate()
- return
-
-atom/var/ul_Red = 0
-atom/var/ul_Green = 0
-atom/var/ul_Blue = 0
-atom/var/turf/ul_LastIlluminated
-
-atom/var/ul_Extinguished = UL_I_ONZERO
-
-atom/proc/ul_SetLuminosity(var/Red = 0, var/Green = Red, var/Blue = Red)
-
- if(ul_Extinguished == UL_I_CHANGING) //Changing state, just supress any changes, to prevent glitches.
- return
-
- if(ul_Red == min(Red, ul_TopLuminosity) && ul_Green == min(Green, ul_TopLuminosity) && ul_Blue == min(Blue, ul_TopLuminosity))
- return //No point doing all that work if it won't have any effect anyways...
-
- if (ul_Extinguished == UL_I_EXTINGUISHED)
- ul_Red = min(Red,ul_TopLuminosity)
- ul_Green = min(Green,ul_TopLuminosity)
- ul_Blue = min(Blue,ul_TopLuminosity)
-
- return
-
- if (ul_IsLuminous(src))
- ul_Extinguish()
-
- ul_Red = min(Red,ul_TopLuminosity)
- ul_Green = min(Green,ul_TopLuminosity)
- ul_Blue = min(Blue,ul_TopLuminosity)
-
- ul_Extinguished = UL_I_ONZERO
-
- if (ul_IsLuminous(src))
- ul_Illuminate()
-
- return
-
-atom/proc/ul_Illuminate()
- if (ul_Extinguished == UL_I_LIT)
- return
-
- ul_Extinguished = UL_I_CHANGING
-
- luminosity = ul_Luminosity(src)
-
- for(var/turf/Affected in view(luminosity, src))
- var/Falloff = ul_FalloffAmount(Affected)
-
- var/DeltaRed = ul_Red - Falloff
- var/DeltaGreen = ul_Green - Falloff
- var/DeltaBlue = ul_Blue - Falloff
-
- if(DeltaRed > 0 || DeltaGreen > 0 || DeltaBlue > 0)
-
- if(DeltaRed > 0)
- if(!Affected.MaxRed)
- Affected.MaxRed = list()
- Affected.MaxRed += DeltaRed
-
- if(DeltaGreen > 0)
- if(!Affected.MaxGreen)
- Affected.MaxGreen = list()
- Affected.MaxGreen += DeltaGreen
-
- if(DeltaBlue > 0)
- if(!Affected.MaxBlue)
- Affected.MaxBlue = list()
- Affected.MaxBlue += DeltaBlue
-
- Affected.ul_UpdateLight()
-
- #ifdef ul_LightLevelChangedUpdates
- if (ul_SuppressLightLevelChanges == 0)
- Affected.ul_LightLevelChanged()
-
- for(var/atom/AffectedAtom in Affected)
- AffectedAtom.ul_LightLevelChanged()
- #endif
-
- ul_LastIlluminated = get_turf(src)
- ul_Extinguished = UL_I_LIT
-
- return
-
-atom/proc/ul_Extinguish()
-
- if (ul_Extinguished != UL_I_LIT)
- return
-
- ul_Extinguished = UL_I_CHANGING
-
- for(var/turf/Affected in view(ul_Luminosity(src), ul_LastIlluminated))
-
- var/Falloff = ul_LastIlluminated.ul_FalloffAmount(Affected)
-
- var/DeltaRed = ul_Red - Falloff
- var/DeltaGreen = ul_Green - Falloff
- var/DeltaBlue = ul_Blue - Falloff
-
- if(DeltaRed > 0 || DeltaGreen > 0 || DeltaBlue > 0)
-
- if(DeltaRed > 0)
- if(Affected.MaxRed)
- var/removed_light_source = Affected.MaxRed.Find(DeltaRed)
- if(removed_light_source)
- Affected.MaxRed.Cut(removed_light_source, removed_light_source+1)
- if(!Affected.MaxRed.len)
- del Affected.MaxRed
-
- if(DeltaGreen > 0)
- if(Affected.MaxGreen)
- var/removed_light_source = Affected.MaxGreen.Find(DeltaGreen)
- if(removed_light_source)
- Affected.MaxGreen.Cut(removed_light_source, removed_light_source+1)
- if(!Affected.MaxGreen.len)
- del Affected.MaxGreen
-
- if(DeltaBlue > 0)
- if(Affected.MaxBlue)
- var/removed_light_source = Affected.MaxBlue.Find(DeltaBlue)
- if(removed_light_source)
- Affected.MaxBlue.Cut(removed_light_source, removed_light_source+1)
- if(!Affected.MaxBlue.len)
- del Affected.MaxBlue
-
- Affected.ul_UpdateLight()
-
- #ifdef ul_LightLevelChangedUpdates
- if (ul_SuppressLightLevelChanges == 0)
- Affected.ul_LightLevelChanged()
-
- for(var/atom/AffectedAtom in Affected)
- AffectedAtom.ul_LightLevelChanged()
- #endif
-
- ul_Extinguished = UL_I_EXTINGUISHED
- luminosity = 0
- ul_LastIlluminated = null
-
- return
-
-
-/*
- Calculates the correct lighting falloff value (used to calculate what brightness to set the turf to) to use,
- when called on a luminous atom and passed an atom in the turf to be lit.
-
- Supports multiple configurations, BS12 uses the circular falloff setting. This setting uses an array lookup
- to avoid the cost of the square root function.
-*/
-atom/proc/ul_FalloffAmount(var/atom/ref)
- if (ul_FalloffStyle == UL_I_FALLOFF_ROUND)
- var/delta_x = (ref.x - src.x)
- var/delta_y = (ref.y - src.y)
-
- #ifdef ul_LightingResolution
- if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len)
- for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++)
- ul_FastRoot += round(sqrt(i))
- return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution
-
- #else
- if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len)
- for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++)
- ul_FastRoot += round(sqrt(i))
- return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1]
-
- #endif
-
- else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE)
- return get_dist(src, ref)
-
- return 0
-
-atom/proc/ul_SetOpacity(var/NewOpacity)
- if(opacity != NewOpacity)
-
- var/list/Blanked = ul_BlankLocal()
-
- opacity = NewOpacity
-
- ul_UnblankLocal(Blanked)
-
- return
-
-atom/proc/ul_BlankLocal()
- var/list/Blanked = list( )
- var/TurfAdjust = isturf(src) ? 1 : 0
-
- for(var/atom/Affected in view(ul_TopLuminosity, src))
- if(ul_IsLuminous(Affected) && Affected.ul_Extinguished == UL_I_LIT && (ul_FalloffAmount(Affected) <= ul_Luminosity(Affected) + TurfAdjust))
- Affected.ul_Extinguish()
- Blanked += Affected
-
- return Blanked
-
-atom/proc/ul_LightLevelChanged()
- //Designed for client projects to use. Called on items when the turf they are in has its light level changed
- return
-
-atom/New()
- . = ..()
- if(ul_IsLuminous(src))
- spawn(5)
- ul_Illuminate()
-
-atom/Del()
- if(ul_IsLuminous(src))
- ul_Extinguish()
- . = ..()
-
-atom/movable/Move()
- if(ul_IsLuminous(src))
- ul_Extinguish()
- . = ..()
- ul_Illuminate()
- else
- return ..()
-
-
-turf/var/list/MaxRed
-turf/var/list/MaxGreen
-turf/var/list/MaxBlue
-
-turf/proc/ul_GetRed()
- if(MaxRed)
- return ul_Clamp(max(MaxRed))
- return 0
-turf/proc/ul_GetGreen()
- if(MaxGreen)
- return ul_Clamp(max(MaxGreen))
- return 0
-turf/proc/ul_GetBlue()
- if(MaxBlue)
- return ul_Clamp(max(MaxBlue))
- return 0
-
-turf/proc/ul_UpdateLight()
- var/area/CurrentArea = loc
-
- if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting)
- return
-
- var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]"
-
- if(CurrentArea.tag != LightingTag)
- var/area/NewArea = locate(LightingTag)
-
- if(!NewArea)
- NewArea = new CurrentArea.type()
- NewArea.tag = LightingTag
-
- for(var/V in CurrentArea.vars - "contents")
- if(issaved(CurrentArea.vars[V]))
- NewArea.vars[V] = CurrentArea.vars[V]
-
- NewArea.tag = LightingTag
-
- NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue())
-
-
- NewArea.contents += src
-
- return
-
-turf/proc/ul_Recalculate()
-
- ul_SuppressLightLevelChanges++
-
- var/list/Lights = ul_BlankLocal()
-
- ul_UnblankLocal(Lights)
-
- ul_SuppressLightLevelChanges--
-
- return
-
-area/var/ul_Overlay = null
-area/var/ul_Lighting = 1
-
-area/var/LightLevelRed = 0
-area/var/LightLevelGreen = 0
-area/var/LightLevelBlue = 0
-area/var/list/LightLevels
-
-area/proc/ul_Light(var/Red = LightLevelRed, var/Green = LightLevelGreen, var/Blue = LightLevelBlue)
-
- if(!src || !src.ul_Lighting)
- return
-
- overlays -= ul_Overlay
- if(LightLevels)
- if(Red < LightLevels["Red"])
- Red = LightLevels["Red"]
- if(Green < LightLevels["Green"])
- Green = LightLevels["Green"]
- if(Blue < LightLevels["Blue"])
- Blue = LightLevels["Blue"]
-
- LightLevelRed = Red
- LightLevelGreen = Green
- LightLevelBlue = Blue
-
- luminosity = LightLevelRed || LightLevelGreen || LightLevelBlue
-
- var/ul_CachedOverlay = ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"]
- if(ul_CachedOverlay)
- ul_Overlay = ul_CachedOverlay
- else
- ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"] = image('icons/effects/ULIcons.dmi', , "[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]", ul_Layer)
- ul_Overlay = ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"]
-
- overlays += ul_Overlay
-
- return
-
-area/proc/ul_Prep()
-
- if(!tag)
- tag = "[type]"
- if(ul_Lighting)
- if(!findtext(tag,":UL"))
- ul_Light()
- //world.log << tag
-
- return
-
-#undef UL_I_FALLOFF_SQUARE
-#undef UL_I_FALLOFF_ROUND
-#undef UL_I_LIT
-#undef UL_I_EXTINGUISHED
-#undef UL_I_ONZERO
-#undef ul_LightingEnabled
-#undef ul_LightingResolution
-#undef ul_Steps
-#undef ul_FalloffStyle
-#undef ul_Layer
-#undef ul_TopLuminosity
-#undef ul_Clamp
-#undef ul_LightLevelChangedUpdates
\ No newline at end of file
diff --git a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm b/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm
deleted file mode 100644
index 81ba9c458cf..00000000000
--- a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// MOVED HERE FROM ULTRALIGHT WHICH IS PROBABLY A BAD THING
-#define UL_I_FALLOFF_SQUARE 0
-#define UL_I_FALLOFF_ROUND 1
-#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular.
-var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7)
-
-atom/proc/ul_FalloffAmount(var/atom/ref)
- if (ul_FalloffStyle == UL_I_FALLOFF_ROUND)
- var/delta_x = (ref.x - src.x)
- var/delta_y = (ref.y - src.y)
-
- #ifdef ul_LightingResolution
- if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len)
- for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++)
- ul_FastRoot += round(sqrt(i))
- return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution
-
- #else
- if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len)
- for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++)
- ul_FastRoot += round(sqrt(i))
- return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1]
-
- #endif
-
- else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE)
- return get_dist(src, ref)
-
- return 0
\ No newline at end of file
diff --git a/code/WorkInProgress/SkyMarshal/coatrack.dm b/code/WorkInProgress/SkyMarshal/coatrack.dm
deleted file mode 100644
index efc64b1e2fc..00000000000
--- a/code/WorkInProgress/SkyMarshal/coatrack.dm
+++ /dev/null
@@ -1,96 +0,0 @@
-/obj/machinery/coatrack/attack_hand(mob/user as mob)
- switch(alert("What do you want from the coat rack?",,"Coat","Hat"))
- if("Coat")
- if(coat)
- if(!user.get_active_hand())
- user.put_in_hand(coat)
- else
- coat.loc = get_turf(user)
- coat = null
- if(!hat)
- icon_state = "coatrack0"
- else
- icon_state = "coatrack1"
- return
- else
- user << "\blue There is no coat to take!"
- return
- if("Hat")
- if(hat)
- if(!user.get_active_hand())
- user.put_in_hand(hat)
- else
- hat.loc = get_turf(user)
- hat = null
- if(!coat)
- icon_state = "coatrack0"
- else
- icon_state = "coatrack2"
- return
- else
- user << "\blue There is no hat to take!"
- return
- user << "Something went wrong."
- return
-
-/obj/machinery/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob)
- var/obj/item/I = user.equipped()
- if ( istype(I,/obj/item/clothing/head/det_hat) && !hat)
- user.drop_item()
- I.loc = src
- hat = I
- if(!coat)
- icon_state = "coatrack1"
- else
- icon_state = "coatrack3"
- for(var/mob/M in viewers(src, null))
- if(M.client)
- M.show_message(text("\blue [user] puts his hat onto the rack."), 2)
- return
- if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && !coat)
- user.drop_item()
- I.loc = src
- coat = I
- if(!hat)
- icon_state = "coatrack2"
- else
- icon_state = "coatrack3"
- for(var/mob/M in viewers(src, null))
- if(M.client)
- M.show_message(text("\blue [user] puts his coat onto the rack."), 2)
- return
- if ( istype(I,/obj/item/clothing/head/det_hat) && hat)
- user << "There's already a hat on the rack!"
- return ..()
- if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && coat)
- user << "There's already a coat on the rack!"
- return ..()
- user << "The coat rack wants none of what you offer."
- return ..()
-
-
-/obj/machinery/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
- if ( istype(mover,/obj/item/clothing/head/det_hat) && !hat)
- mover.loc = src
- hat = mover
- if(!coat)
- icon_state = "coatrack1"
- else
- icon_state = "coatrack3"
- for(var/mob/M in viewers(src, null))
- if(M.client)
- M.show_message(text("\blue The hat lands perfectly atop its hanger!"), 2)
- return 0
- if ( istype(mover,/obj/item/clothing/suit/storage/det_suit) && !coat)
- mover.loc = src
- coat = mover
- if(!hat)
- icon_state = "coatrack2"
- else
- icon_state = "coatrack3"
- for(var/mob/M in viewers(src, null))
- if(M.client)
- M.show_message(text("\blue The coat lands perfectly atop its hanger!"), 2)
- return 0
- else
- return 0
\ No newline at end of file
diff --git a/code/WorkInProgress/SkyMarshal/portalathe.dm b/code/WorkInProgress/SkyMarshal/portalathe.dm
deleted file mode 100644
index 1c2ceb15b23..00000000000
--- a/code/WorkInProgress/SkyMarshal/portalathe.dm
+++ /dev/null
@@ -1,21 +0,0 @@
-//May expand later, but right now it just repairs lights.
-/obj/item/device/portalathe
- name = "portable autolathe"
- desc = "A device which can repair broken lights instantly. Must be advanced."
- icon = 'icons/obj/janitor.dmi'
- icon_state = "portalathe"
-
- afterattack(var/atom/target, mob/user as mob)
- if(!target || !user)
- return
- if(!istype(target))
- return
- if(!istype(target, /obj/machinery/light))
- return
- var/obj/machinery/light/L = target
- if(L.status > 1) //Burned or broke
- L.status = 0
- L.on = 1
- L.update()
- user.visible_message("[user] repairs \the [target] on the spot with their [src]!","You repair the lightbulb!","You hear a soft whiiir-pop noise over the sound of flexing glass, followed by the soft hum of an activated [target].")
- return
\ No newline at end of file
diff --git a/code/WorkInProgress/SkyMarshal/traitoritems.dm b/code/WorkInProgress/SkyMarshal/traitoritems.dm
deleted file mode 100644
index b42a36685e4..00000000000
--- a/code/WorkInProgress/SkyMarshal/traitoritems.dm
+++ /dev/null
@@ -1,76 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
-
-/obj/item/weapon/stamperaser
- name = "eraser"
- desc = "It looks like some kind of eraser."
- flags = FPRINT | TABLEPASS
- icon = 'icons/obj/items.dmi'
- icon_state = "zippo"
- item_state = "zippo"
- w_class = 1.0
- m_amt = 80
-/*
-/obj/item/device/jammer
- name = "strange device"
- desc = "It blinks and has an antenna on it. Weird."
- icon_state = "t-ray0"
- var/on = 0
- flags = FPRINT|TABLEPASS
- w_class = 1
- var/list/obj/item/device/radio/Old = list()
- var/list/obj/item/device/radio/Curr = list()
- var/time_remaining = 5
-
-/obj/item/device/jammer/New()
- ..()
- time_remaining = rand(10,20) // ~2-4 BYOND seconds of use.
- return
-
-/obj/item/device/jammer/attack_self(mob/user)
-
- if(time_remaining > 0)
- on = !on
- icon_state = "t-ray[on]"
-
- if(on)
- processing_objects.Add(src)
- else
- on = 0
- icon_state = "t-ray0"
- user << "It's fried itself from overuse!"
- if(Old)
- for(var/obj/item/device/radio/T in Old)
- T.scrambleoverride = 0
- Old = null
- Curr = null
-
-
-/obj/item/device/jammer/process()
- if(!on)
- processing_objects.Remove(src)
- return null
-
- Old = Curr
- Curr = list()
-
- for(var/obj/item/device/radio/T in range(3, src.loc) )
-
- T.scrambleoverride = 1
- Curr |= T
- for(var/obj/item/device/radio/V in Old)
- if(V == T)
- Old -= V
- break
-
- for(var/obj/item/device/radio/T in Old)
- T.scrambleoverride = 0
-
- time_remaining--
- if(time_remaining <= 0)
- for(var/mob/O in viewers(src))
- O.show_message("\red You hear a loud pop, like circuits frying.", 1)
- on = 0
- icon_state = "t-ray0"
-
- sleep(2)
- */
diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
deleted file mode 100755
index 28bd73cff7b..00000000000
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ /dev/null
@@ -1,614 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
-
-/obj/item/wardrobe
- name = "\improper Wardrobe"
- desc = "A standard-issue bag for clothing and equipment. Usually comes sealed, stocked with everything you need for a particular job."
- icon = 'icons/obj/clothing/suits.dmi'
- icon_state = "wardrobe_sealed"
- item_state = "wardrobe"
- w_class = 4
- layer = 2.99
- var/descriptor = "various clothing"
- var/seal_torn = 0
-
- attack_self(mob/user)
- if(!contents.len)
- user << "It's empty!"
- else
- user.visible_message("\blue [user] unwraps the clothing from the [src][seal_torn ? "" : ", tearing the seal"].")
- seal_torn = 1
-
- for(var/obj/item/I in src)
- I.loc = get_turf(src)
- update_icon()
- return
-
- attackby(var/obj/item/I as obj, var/mob/user as mob)
- if(istype(I, /obj/item/wardrobe) || istype(I, /obj/item/weapon/evidencebag))
- return
- if(contents.len < 20)
- if(istype(I, /obj/item/weapon/grab))
- return
- user.drop_item()
-
- if(I)
- I.loc = src
-
- update_icon()
- else
- user << "\red There's not enough space to fit that!"
- return
-
- afterattack(atom/A as obj|turf, mob/user as mob)
- if(A in user)
- return
- if(!istype(A.loc,/turf))
- user << "It's got to be on the ground to do that!"
- return
- var/could_fill = 1
- for (var/obj/O in locate(A.x,A.y,A.z))
- if (contents.len < 20)
- if(istype(O,/obj/item/wardrobe))
- continue
- if(O.anchored || O.density || istype(O,/obj/structure))
- continue
- contents += O;
- else
- could_fill = 0
- break
- if(could_fill)
- user << "\blue You pick up all the items."
- else
- user << "\blue You try to pick up all of the items, but run out of space in the bag."
- user.visible_message("\blue [user] gathers up[could_fill ? " " : " most of "]the pile of items and puts it into [src].")
- update_icon()
-
- examine()
- set src in view()
- ..()
- if(src in usr)
- usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]."
- if(seal_torn && !contents.len)
- usr << "The seal on the bag is broken."
- else
- usr << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
- return
-
- update_icon()
- if(contents.len)
- icon_state = "wardrobe"
- else
- icon_state = "wardrobe_empty"
- return
-
- New()
- ..()
- pixel_x = rand(0,4) -2
- pixel_y = rand(0,4) -2
-
-/obj/item/wardrobe/assistant
- name = "\improper Assistant Wardrobe"
- descriptor = "clothing and basic equipment for an assistant"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda(src)
- new /obj/item/device/radio/headset(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/color/grey(src)
-
-/obj/item/wardrobe/chief_engineer
- name = "\improper Chief Engineer Wardrobe"
- descriptor = "clothing and basic equipment for a Chief Engineer"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/heads/ce(src)
- new /obj/item/device/multitool(src)
- new /obj/item/device/flash(src)
- new /obj/item/clothing/head/helmet/hardhat/white(src)
- new /obj/item/clothing/head/helmet/welding(src)
- new /obj/item/weapon/storage/belt/utility/full(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/clothing/gloves/yellow(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/device/radio/headset/heads/ce(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/under/rank/chief_engineer(src)
-
-/obj/item/wardrobe/engineer
- name = "\improper Station Engineer Wardrobe"
- descriptor = "clothing and basic equipment for a Station Engineer"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/engineering(src)
- new /obj/item/device/t_scanner(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/weapon/storage/belt/utility/full(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/head/helmet/hardhat(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/device/radio/headset/headset_eng(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/under/rank/engineer(src)
-
-/obj/item/wardrobe/atmos
- name = "\improper Atmospheric Technician Wardrobe"
- descriptor = "clothing and basic equipment for an Atmospheric Technician"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/engineering(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/device/radio/headset/headset_eng(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
-
-/obj/item/wardrobe/roboticist
- name = "\improper Roboticist Wardrobe"
- descriptor = "clothing and basic equipment for a Roboticist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/engineering(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/device/radio/headset/headset_rob(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/roboticist(src)
-
-/obj/item/wardrobe/chaplain
- name = "\improper Chaplain Wardrobe"
- descriptor = "clothing and basic equipment for a Chaplain"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/storage/bible(src)
- new /obj/item/device/pda/chaplain(src)
- new /obj/item/device/radio/headset(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/chaplain(src)
-
-/obj/item/wardrobe/captain
- name = "\improper Captain Wardrobe"
- descriptor = "clothing and basic equipment for a Captain"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/captain(src)
- new /obj/item/weapon/storage/id_kit(src)
- new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/suit/storage/captunic(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/clothing/head/caphat(src)
- new /obj/item/clothing/gloves/captain(src)
- new /obj/item/clothing/head/helmet/swat(src)
- new /obj/item/device/radio/headset/heads/captain(src)
- new /obj/item/clothing/shoes/jackboots(src)
- new /obj/item/clothing/under/rank/captain(src)
-
-/obj/item/wardrobe/hop
- name = "\improper Head of Personnel Wardrobe"
- descriptor = "clothing and basic equipment for a Head of Personnel"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/device/pda/heads/hop(src)
- new /obj/item/weapon/storage/id_kit(src)
- new /obj/item/device/flash(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/gloves/blue(src)
- new /obj/item/device/radio/headset/heads/hop(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/under/rank/head_of_personnel(src)
-
-/obj/item/wardrobe/cmo
- name = "\improper Chief Medical Officer Wardrobe"
- descriptor = "clothing and basic equipment for a Chief Medical Officer"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/heads/cmo(src)
- new /obj/item/weapon/storage/firstaid/adv(src)
- new /obj/item/device/flashlight/pen(src)
- new /obj/item/clothing/gloves/latex(src)
- new /obj/item/clothing/suit/bio_suit/cmo(src)
- new /obj/item/clothing/head/bio_hood/cmo(src)
- new /obj/item/clothing/suit/storage/labcoat/cmo(src)
- new /obj/item/clothing/suit/storage/labcoat/cmoalt(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/device/radio/headset/heads/cmo(src)
- new /obj/item/clothing/under/rank/chief_medical_officer(src)
- new /obj/item/device/healthanalyzer(src)
-
-/obj/item/wardrobe/doctor
- name = "\improper Medical Doctor Wardrobe"
- descriptor = "clothing and basic equipment for a Medical Doctor"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/medical(src)
- new /obj/item/weapon/storage/firstaid/adv(src)
- new /obj/item/device/flashlight/pen(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/head/nursehat (src)
- new /obj/item/weapon/storage/belt/medical(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/device/radio/headset/headset_med(src)
- new /obj/item/clothing/under/rank/nursesuit (src)
- new /obj/item/clothing/under/rank/medical(src)
- new /obj/item/device/healthanalyzer(src)
-
-/obj/item/wardrobe/geneticist
- name = "\improper Geneticist Wardrobe"
- descriptor = "clothing and basic equipment for a Geneticist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/medical(src)
- new /obj/item/device/flashlight/pen(src)
- new /obj/item/clothing/suit/storage/labcoat/genetics(src)
- new /obj/item/device/radio/headset/headset_medsci(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/under/rank/geneticist(src)
-
-/obj/item/wardrobe/virologist
- name = "\improper Virologist Wardrobe"
- descriptor = "clothing and basic equipment for a Virologist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/flashlight/pen(src)
- new /obj/item/device/pda/medical(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/clothing/suit/storage/labcoat/virologist(src)
- new /obj/item/device/radio/headset/headset_med(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/under/rank/medical(src)
-
-/obj/item/wardrobe/rd
- name = "\improper Research Director Wardrobe"
- descriptor = "clothing and basic equipment for a Research Director"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/device/pda/heads/rd(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/weapon/tank/air(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/flash(src)
- new /obj/item/clothing/suit/bio_suit/scientist(src)
- new /obj/item/clothing/head/bio_hood/scientist(src)
- new /obj/item/clothing/suit/storage/labcoat(src)
- new /obj/item/clothing/gloves/latex(src)
- new /obj/item/device/radio/headset/heads/rd(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/under/rank/research_director(src)
-
-/obj/item/wardrobe/scientist
- name = "\improper Scientist Wardrobe"
- descriptor = "clothing and basic equipment for a Scientist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/toxins(src)
- new /obj/item/weapon/tank/oxygen(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/suit/storage/labcoat/science(src)
- new /obj/item/device/radio/headset/headset_sci(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/under/rank/scientist(src)
-
-/obj/item/wardrobe/chemist
- name = "\improper Chemist Wardrobe"
- descriptor = "clothing and basic equipment for a Chemist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/radio/headset/headset_medsci(src)
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/device/pda/toxins(src)
- new /obj/item/clothing/suit/storage/labcoat/chemist(src)
-
-/obj/item/wardrobe/hos
- name = "\improper Head of Security Wardrobe"
- descriptor = "clothing and basic equipment for a Head of Security"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/device/flash(src)
- new /obj/item/device/pda/heads/hos(src)
- new /obj/item/clothing/suit/storage/armourrigvest(src)
- new /obj/item/clothing/suit/armor/hos(src)
- new /obj/item/clothing/head/helmet/HoS(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/clothing/gloves/hos(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/device/radio/headset/heads/hos(src)
- new /obj/item/clothing/shoes/jackboots(src)
- new /obj/item/clothing/under/rank/head_of_security(src)
-
-/obj/item/wardrobe/warden
- name = "\improper Warden Wardrobe"
- descriptor = "clothing and basic equipment for a Warden"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/gun/energy/taser(src)
- new /obj/item/device/pda/security(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/clothing/suit/storage/gearharness(src)
- new /obj/item/clothing/head/helmet/warden(src)
- new /obj/item/clothing/gloves/red(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/clothing/shoes/jackboots(src)
- new /obj/item/clothing/under/rank/warden(src)
- new /obj/item/clothing/suit/armor/vest/warden(src)
- new /obj/item/weapon/pepperspray(src)
-
-/obj/item/wardrobe/detective
- name = "\improper Detective Wardrobe"
- descriptor = "clothing and basic equipment for a Detective"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/fcardholder(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/weapon/clipboard/notebook(src)
- new /obj/item/device/detective_scanner(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/weapon/storage/box/evidence(src)
- new /obj/item/device/pda/detective(src)
- new /obj/item/clothing/suit/storage/det_suit/armor(src)
- new /obj/item/clothing/suit/storage/det_suit(src)
- new /obj/item/clothing/gloves/detective(src)
- new /obj/item/clothing/head/det_hat(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/under/det(src)
- new /obj/item/weapon/camera_film(src)
-
-/obj/item/wardrobe/officer
- name = "\improper Security Officer Wardrobe"
- descriptor = "clothing and basic equipment for a Security Officer"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/pepperspray(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/weapon/flashbang(src)
- new /obj/item/device/pda/security(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/clothing/suit/storage/gearharness(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/clothing/head/helmet(src)
- new /obj/item/clothing/head/secsoft(src)
- new /obj/item/clothing/gloves/red(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/clothing/shoes/jackboots(src)
- new /obj/item/clothing/under/rank/security(src)
-
-
-
-/obj/item/wardrobe/bartender
- name = "\improper Bartender Wardrobe"
- descriptor = "clothing and basic equipment for a Bartender"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/ammo_casing/shotgun/beanbag(BPK)
- new /obj/item/ammo_casing/shotgun/beanbag(BPK)
- new /obj/item/ammo_casing/shotgun/beanbag(BPK)
- new /obj/item/ammo_casing/shotgun/beanbag(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/radio/headset(src)
- new /obj/item/clothing/suit/armor/vest(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/bartender(src)
-
-/obj/item/wardrobe/chef
- name = "\improper Chef Wardrobe"
- descriptor = "clothing and basic equipment for a Chef"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/clothing/suit/storage/chef(src)
- new /obj/item/clothing/head/chefhat(src)
- new /obj/item/device/radio/headset(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/chef(src)
-
-/obj/item/wardrobe/hydro
- name = "\improper Botanist Wardrobe"
- descriptor = "clothing and basic equipment for a Botanist"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/analyzer/plant_analyzer(src)
- new /obj/item/clothing/suit/storage/apron(src)
- new /obj/item/clothing/gloves/botanic_leather(src)
- new /obj/item/device/radio/headset(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/hydroponics(src)
-
-/obj/item/wardrobe/qm
- name = "\improper Quartermaster Wardrobe"
- descriptor = "clothing and basic equipment for a Quartermaster"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/device/pda/quartermaster(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/device/radio/headset/heads/qm(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/under/rank/cargo(src)
-
-/obj/item/wardrobe/cargo_tech
- name = "\improper Cargo Technician Wardrobe"
- descriptor = "clothing and basic equipment for a Cargo Technician"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/quartermaster(src)
- new /obj/item/device/radio/headset/headset_cargo(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/cargotech(src)
- new /obj/item/clothing/gloves/fingerless/black(src)
-
-/obj/item/wardrobe/mining
- name = "\improper Shaft Miner Wardrobe"
- descriptor = "clothing and basic equipment for a Shaft Miner"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/analyzer(src)
- new /obj/item/weapon/satchel(src)
- new /obj/item/device/flashlight/lantern(src)
- new /obj/item/weapon/shovel(src)
- new /obj/item/weapon/pickaxe(src)
- new /obj/item/weapon/crowbar(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/device/radio/headset/headset_mine(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/miner(src)
- new /obj/item/clothing/gloves/fingerless/black(src)
-
-/obj/item/wardrobe/janitor
- name = "\improper Janitor Wardrobe"
- descriptor = "clothing and basic equipment for a Janitor"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/janitor(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/janitor(src)
- new /obj/item/device/portalathe(src)
-
-/obj/item/wardrobe/librarian
- name = "\improper Librarian Wardrobe"
- descriptor = "clothing and basic equipment for a Librarian"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/weapon/barcodescanner(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/suit_jacket/red(src)
-
-/obj/item/wardrobe/lawyer
- name = "\improper Lawyer Wardrobe"
- descriptor = "clothing and basic equipment for a Lawyer"
-
- New()
- ..()
- var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
- new /obj/item/weapon/storage/box(BPK)
- new /obj/item/weapon/pen(src)
- new /obj/item/device/pda/lawyer(src)
- new /obj/item/device/detective_scanner(src)
- new /obj/item/weapon/storage/briefcase(src)
- new /obj/item/clothing/shoes/brown(src)
- if(prob(50))
- new /obj/item/clothing/under/lawyer/bluesuit(src)
- new /obj/item/clothing/suit/storage/lawyer/bluejacket(src)
- else
- new /obj/item/clothing/under/lawyer/purpsuit(src)
- new /obj/item/clothing/suit/storage/lawyer/purpjacket(src)
-
-
diff --git a/code/WorkInProgress/Susan/biocraps.dmi b/code/WorkInProgress/Susan/biocraps.dmi
deleted file mode 100644
index 1bcbec018fe..00000000000
Binary files a/code/WorkInProgress/Susan/biocraps.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Susan/desert.dmi b/code/WorkInProgress/Susan/desert.dmi
deleted file mode 100644
index 439f5630f06..00000000000
Binary files a/code/WorkInProgress/Susan/desert.dmi and /dev/null differ
diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm
deleted file mode 100644
index 069e1eb81d8..00000000000
--- a/code/WorkInProgress/Susan/susan_desert_turfs.dm
+++ /dev/null
@@ -1,467 +0,0 @@
-//this is everything i'm going to be using in my outpost zeta map, and possibly future maps.
-
-turf/unsimulated/desert
- name = "desert"
- icon = 'code/WorkInProgress/Susan/desert.dmi'
- icon_state = "desert"
- temperature = 393.15
- luminosity = 5
- lighting_lumcount = 8
-
-turf/unsimulated/desert/New()
- icon_state = "desert[rand(0,4)]"
-
-turf/simulated/wall/impassable_rock
- name = "Mountain Wall"
-
- //so that you can see the impassable sections in the map editor
- icon_state = "riveted"
- New()
- icon_state = "rock"
-
-/area/awaymission/labs/researchdivision
- name = "Research"
- icon_state = "away3"
-
-/area/awaymission/labs/militarydivision
- name = "Military"
- icon_state = "away2"
-
-/area/awaymission/labs/gateway
- name = "Gateway"
- icon_state = "away1"
-
-/area/awaymission/labs/command
- name = "Command"
- icon_state = "away"
-
-/area/awaymission/labs/civilian
- name = "Civilian"
- icon_state = "away3"
-
-/area/awaymission/labs/cargo
- name = "Cargo"
- icon_state = "away2"
-
-/area/awaymission/labs/medical
- name = "Medical"
- icon_state = "away1"
-
-/area/awaymission/labs/security
- name = "Security"
- icon_state = "away"
-
-/area/awaymission/labs/solars
- name = "Solars"
- icon_state = "away3"
-
-/area/awaymission/labs/cave
- name = "Caves"
- icon_state = "away2"
-
-//corpses and possibly other decorative items
-
-/obj/effect/landmark/corpse/alien
- mutantrace = "lizard"
-
-/obj/effect/landmark/corpse/alien/cargo
- name = "Cargo Technician"
- corpseuniform = /obj/item/clothing/under/rank/cargo
- corpseradio = /obj/item/device/radio/headset/headset_cargo
- corpseid = 1
- corpseidjob = "Cargo Technician"
- corpseidaccess = "Quartermaster"
-
-/obj/effect/landmark/corpse/alien/laborer
- name = "Laborer"
- corpseuniform = /obj/item/clothing/under/overalls
- corpseradio = /obj/item/device/radio/headset/headset_eng
- corpseback = /obj/item/weapon/storage/backpack/industrial
- corpsebelt = /obj/item/weapon/storage/belt/utility/full
- corpsehelmet = /obj/item/clothing/head/hardhat
- corpseid = 1
- corpseidjob = "Laborer"
- corpseidaccess = "Engineer"
-
-/obj/effect/landmark/corpse/alien/testsubject
- name = "Unfortunate Test Subject"
- corpseuniform = /obj/item/clothing/under/color/white
- corpseid = 0
-
-/obj/effect/landmark/corpse/overseer
- name = "Overseer"
- corpseuniform = /obj/item/clothing/under/rank/navyhead_of_security
- corpsesuit = /obj/item/clothing/suit/armor/hosnavycoat
- corpseradio = /obj/item/device/radio/headset/heads/captain
- corpsegloves = /obj/item/clothing/gloves/black/hos
- corpseshoes = /obj/item/clothing/shoes/swat
- corpsehelmet = /obj/item/clothing/head/beret/navyhos
- corpseglasses = /obj/item/clothing/glasses/eyepatch
- corpseid = 1
- corpseidjob = "Facility Overseer"
- corpseidaccess = "Captain"
-
-/obj/effect/landmark/corpse/officer
- name = "Security Officer"
- corpseuniform = /obj/item/clothing/under/rank/navysecurity
- corpsesuit = /obj/item/clothing/suit/armor/navysecvest
- corpseradio = /obj/item/device/radio/headset/headset_sec
- corpseshoes = /obj/item/clothing/shoes/swat
- corpsehelmet = /obj/item/clothing/head/beret/navysec
- corpseid = 1
- corpseidjob = "Security Officer"
- corpseidaccess = "Security Officer"
-
-/*
- * Weeds
- */
-#define NODERANGE 1
-
-/obj/effect/alien/flesh/weeds
- name = "Fleshy Growth"
- desc = "A pulsating grouping of odd, alien tissues. It's almost like it has a heartbeat..."
- icon = 'code/WorkInProgress/Susan/biocraps.dmi'
- icon_state = "flesh"
-
- anchored = 1
- density = 0
- var/health = 15
- var/obj/effect/alien/weeds/node/linked_node = null
-
-/obj/effect/alien/flesh/weeds/node
- icon_state = "fleshnode"
- icon = 'code/WorkInProgress/Susan/biocraps.dmi'
- name = "Throbbing Pustule"
- desc = "A grotquese, oozing, pimple-like growth. You swear you can see something moving around in the bulb..."
- luminosity = NODERANGE
- var/node_range = NODERANGE
-
-/obj/effect/alien/flesh/weeds/node/New()
- ..(src.loc, src)
-
-
-/obj/effect/alien/flesh/weeds/New(pos, node)
- ..()
- linked_node = node
- if(istype(loc, /turf/space))
- del(src)
- return
- if(icon_state == "flesh")icon_state = pick("flesh", "flesh1", "flesh2")
- spawn(rand(150, 200))
- if(src)
- Life()
- return
-
-/obj/effect/alien/flesh/weeds/proc/Life()
- set background = 1
- var/turf/U = get_turf(src)
-/*
- if (locate(/obj/movable, U))
- U = locate(/obj/movable, U)
- if(U.density == 1)
- del(src)
- return
-
-Alien plants should do something if theres a lot of poison
- if(U.poison> 200000)
- health -= round(U.poison/200000)
- update()
- return
-*/
- if (istype(U, /turf/space))
- del(src)
- return
-
- direction_loop:
- for(var/dirn in cardinal)
- var/turf/T = get_step(src, dirn)
-
- if (!istype(T) || T.density || locate(/obj/effect/alien/flesh/weeds) in T || istype(T.loc, /area/arrival) || istype(T, /turf/space))
- continue
-
- if(!linked_node || get_dist(linked_node, src) > linked_node.node_range)
- return
-
- // if (locate(/obj/movable, T)) // don't propogate into movables
- // continue
-
- for(var/obj/O in T)
- if(O.density)
- continue direction_loop
-
- new /obj/effect/alien/flesh/weeds(T, linked_node)
-
-
-/obj/effect/alien/flesh/weeds/ex_act(severity)
- switch(severity)
- if(1.0)
- del(src)
- if(2.0)
- if (prob(50))
- del(src)
- if(3.0)
- if (prob(5))
- del(src)
- return
-
-/obj/effect/alien/flesh/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
- if(W.attack_verb.len)
- visible_message("\red \The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]")
- else
- visible_message("\red \The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")
-
- var/damage = W.force / 4.0
-
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
-
- if(WT.remove_fuel(0, user))
- damage = 15
- playsound(loc, 'sound/items/Welder.ogg', 100, 1)
-
- health -= damage
- healthcheck()
-
-/obj/effect/alien/flesh/weeds/proc/healthcheck()
- if(health <= 0)
- del(src)
-
-
-/obj/effect/alien/flesh/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
- if(exposed_temperature > 300)
- health -= 5
- healthcheck()
-
-/*/obj/effect/alien/weeds/burn(fi_amount)
- if (fi_amount > 18000)
- spawn( 0 )
- del(src)
- return
- return 0
- return 1
-*/
-
-#undef NODERANGE
-
-//clothing, weapons, and other items that can be worn or used in some way
-
-/obj/item/clothing/under/rank/navywarden
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders."
- name = "warden's jumpsuit"
- icon_state = "wardendnavyclothes"
- item_state = "wardendnavyclothes"
- color = "wardendnavyclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/under/rank/navysecurity
- name = "security officer's jumpsuit"
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
- icon_state = "officerdnavyclothes"
- item_state = "officerdnavyclothes"
- color = "officerdnavyclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/under/rank/navyhead_of_security
- desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer."
- name = "head of security's jumpsuit"
- icon_state = "hosdnavyclothes"
- item_state = "hosdnavyclothes"
- color = "hosdnavyclothes"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/suit/armor/hosnavycoat
- name = "armored coat"
- desc = "A coat enchanced with a special alloy for some protection and style."
- icon_state = "hosdnavyjacket"
- item_state = "armor"
- armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
-
-/obj/item/clothing/head/beret/navysec
- name = "security beret"
- desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety."
- icon_state = "officerberet"
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/head/beret/navywarden
- name = "warden's beret"
- desc = "A beret with a two-colored security insignia emblazoned on it. For wardens that are more inclined towards style than safety."
- icon_state = "wardenberet"
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/head/beret/navyhos
- name = "security head's beret"
- desc = "A stylish beret bearing a golden insignia that proudly displays the security coat of arms. A commander's must-have."
- icon_state = "hosberet"
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/suit/armor/navysecvest
- name = "armored coat"
- desc = "An armored coat that protects against some damage."
- icon_state = "officerdnavyjacket"
- item_state = "armor"
- flags = FPRINT | TABLEPASS
- armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
-
-/obj/item/clothing/suit/armor/navywardenvest
- name = "Warden's jacket"
- desc = "An armoured jacket with silver rank pips and livery."
- icon_state = "wardendnavyjacket"
- item_state = "armor"
- flags = FPRINT | TABLEPASS
- armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
-
-//hostile entities or npcs
-
-/obj/item/projectile/slimeglob
- icon = 'icons/obj/projectiles.dmi'
- icon_state = "toxin"
- damage = 20
- damage_type = BRUTE
-
-/obj/effect/critter/fleshmonster
- name = "Fleshy Horror"
- desc = "A grotesque, shambling fleshy horror... was this once a... a person?"
- icon = 'icons/mob/mob.dmi'
- icon_state = "horror"
-/*
- health = 120
- max_health = 120
- aggressive = 1
- defensive = 1
- wanderer = 1
- opensdoors = 1
- atkcarbon = 1
- atksilicon = 1
- atkcritter = 1
- atksame = 0
- atkmech = 1
- firevuln = 0.5
- brutevuln = 1
- seekrange = 25
- armor = 15
- melee_damage_lower = 12
- melee_damage_upper = 17
- angertext = "shambles"
- attacktext = "slashes"
- var/ranged = 0
- var/rapid = 0
- proc
- Shoot(var/target, var/start, var/user, var/bullet = 0)
- OpenFire(var/thing)//bluh ill rename this later or somethin
-
-
- Die()
- if (!src.alive) return
- src.alive = 0
- walk_to(src,0)
- src.visible_message("[src] disintegrates into mush!")
- playsound(loc, 'sound/voice/hiss6.ogg', 80, 1, 1)
- var/turf/Ts = get_turf(src)
- new /obj/effect/decal/cleanable/blood(Ts)
- del(src)
-
- seek_target()
- src.anchored = 0
- var/T = null
- for(var/mob/living/C in view(src.seekrange,src))//TODO: mess with this
- if (src.target)
- src.task = "chasing"
- break
- if((C.name == src.oldtarget_name) && (world.time < src.last_found + 100)) continue
- if(istype(C, /mob/living/carbon/) && !src.atkcarbon) continue
- if(istype(C, /mob/living/silicon/) && !src.atksilicon) continue
- if(C.health < 0) continue
- if(istype(C, /mob/living/carbon/) && src.atkcarbon)
- if(C:mind)
- if(C:mind:special_role == "H.I.V.E")
- continue
- src.attack = 1
- if(istype(C, /mob/living/silicon/) && src.atksilicon)
- if(C:mind)
- if(C:mind:special_role == "H.I.V.E")
- continue
- src.attack = 1
- if(src.attack)
- T = C
- break
-
- if(!src.attack)
- for(var/obj/effect/critter/C in view(src.seekrange,src))
- if(istype(C, /obj/effect/critter) && !src.atkcritter) continue
- if(C.health <= 0) continue
- if(istype(C, /obj/effect/critter) && src.atkcritter)
- if((istype(C, /obj/effect/critter/hivebot) && !src.atksame) || (C == src)) continue
- T = C
- break
-
- for(var/obj/mecha/M in view(src.seekrange,src))
- if(istype(M, /obj/mecha) && !src.atkmech) continue
- if(M.health <= 0) continue
- if(istype(M, /obj/mecha) && src.atkmech) src.attack = 1
- if(src.attack)
- T = M
- break
-
- if(src.attack)
- src.target = T
- src.oldtarget_name = T:name
- if(src.ranged)
- OpenFire(T)
- return
- src.task = "chasing"
- return
-
-
- OpenFire(var/thing)
- src.target = thing
- src.oldtarget_name = thing:name
- for(var/mob/O in viewers(src, null))
- O.show_message("\red [src] spits a glob at [src.target]!", 1)
-
- var/tturf = get_turf(target)
- if(rapid)
- spawn(1)
- Shoot(tturf, src.loc, src)
- spawn(4)
- Shoot(tturf, src.loc, src)
- spawn(6)
- Shoot(tturf, src.loc, src)
- else
- Shoot(tturf, src.loc, src)
-
- src.attack = 0
- sleep(12)
- seek_target()
- src.task = "thinking"
- return
-
-
- Shoot(var/target, var/start, var/user, var/bullet = 0)
- if(target == start)
- return
-
- var/obj/item/projectile/slimeglob/A = new /obj/item/projectile/slimeglob(user:loc)
- playsound(user, 'sound/weapons/bite.ogg', 100, 1)
-
- if(!A) return
-
- if (!istype(target, /turf))
- del(A)
- return
- A.current = target
- A.yo = target:y - start:y
- A.xo = target:x - start:x
- spawn( 0 )
- A.process()
- return
-*/
-
-obj/effect/critter/fleshmonster/fleshslime
- name = "Flesh Slime"
- icon = 'code/WorkInProgress/Susan/biocraps.dmi'
- icon_state = "livingflesh"
- desc = "A creature that appears to be made out of living tissue strewn together haphazardly. Some kind of liquid bubbles from its maw."
- //ranged = 1
\ No newline at end of file
diff --git a/code/WorkInProgress/Tastyfish/Eliza.dm b/code/WorkInProgress/Tastyfish/Eliza.dm
deleted file mode 100644
index 6fc0e2e3561..00000000000
--- a/code/WorkInProgress/Tastyfish/Eliza.dm
+++ /dev/null
@@ -1,152 +0,0 @@
-// Contains:
-// /datum/text_parser/parser/eliza
-// /datum/text_parser/keyword
-
-/datum/text_parser/parser/eliza
- //var/datum/text_parser/reply/replies[] // R(X) 36
- var/prev_reply = "" // previous reply
- var/username = ""
- var/callsign = ""
- var/yesno_state = ""
- var/yesno_param = ""
-
-/datum/text_parser/parser/eliza/new_session()
- ..()
- for(var/datum/text_parser/keyword/key in keywords)
- key.eliza = src
-
- prev_reply = ""
- username = ""
- yesno_state = ""
- yesno_param = ""
- print("Hi! I'm [callsign], how are you doing? You can talk to me by beginning your statements with \"[callsign],\"")
-
-/datum/text_parser/parser/eliza/process_line()
- ..()
- // pad so we can detect initial and final words correctly
- input_line = " " + src.input_line + " "
- // remove apostrophes
- for(var/i = -1, i != 0, i = findtext(input_line, "'"))
- if(i == -1)
- continue
- input_line = copytext(input_line, 1, i) + copytext(input_line, i + 1, 0)
-
- // did user insult us? (i don't really want cursing in the source code,
- // so keep it the simple original check from the 70's code :p)
- if(findtext(input_line, "shut"))
- // sssh
- return
-
- if(input_line == prev_reply)
- print("Please don't repeat yourself!")
-
- // find a keyword
- var/keyphrase = ""
- var/datum/text_parser/keyword/keyword // the actual keyword
- var/keypos = 0 // pos of keyword so we can grab extra text after it
-
- for(var/i = 1, i <= keywords.len, i++)
- keyword = keywords[i]
- for(var/j = 1, j <= keyword.phrases.len, j++)
- keypos = findtext(input_line, " " + keyword.phrases[j])
- if(keypos != 0)
- // found it!
- keyphrase = keyword.phrases[j]
- break
- if(keyphrase != "")
- break
-
- //world << "keyphrase: " + keyphrase + " " + num2text(keypos)
-
- var/conjugated = ""
- // was it not recognized? then make it nokeyfound
- if(keyphrase == "")
- keyword = keywords[keywords.len] // nokeyfound
- else
- // otherwise, business as usual
-
- // let's conjugate this mess
- conjugated = copytext(input_line, 1 + keypos + lentext(keyphrase))
-
- // go ahead and strip punctuation
- if(lentext(conjugated) > 0 && copytext(conjugated, lentext(conjugated)) == " ")
- conjugated = copytext(conjugated, 1, lentext(conjugated))
- if(lentext(conjugated) > 0)
- var/final_punc = copytext(conjugated, lentext(conjugated))
- if(final_punc == "." || final_punc == "?" || final_punc == "!")
- conjugated = copytext(conjugated, 1, lentext(conjugated))
-
- conjugated += " "
-
- if(keyword.conjugate)
- // now run through conjugation pairs
- for(var/i = 1, i <= lentext(conjugated), i++)
- for(var/x = 1, x <= conjugs.len, x += 2)
- var/cx = conjugs[x]
- var/cxa = conjugs[x + 1]
- if(i + lentext(cx) <= lentext(conjugated) + 1 && cmptext(cx, copytext(conjugated, i, i + lentext(cx))))
- // world << cx
-
- conjugated = copytext(conjugated, 1, i) + cxa + copytext(conjugated, i + lentext(cx))
- i = i + lentext(cx)
- // don't count right padding
- if(copytext(cx, lentext(cx)) == " ")
- i--
- break
- else if(i + lentext(cxa) <= lentext(conjugated) + 1 && cmptext(cxa, copytext(conjugated, i, i + lentext(cxa))))
- // world << cxa
-
- conjugated = copytext(conjugated, 1, i) + cx + copytext(conjugated, i + lentext(cxa))
- i = i + lentext(cxa)
- // don't count right padding
- if(copytext(cxa, lentext(cxa)) == " ")
- i--
- break
-
- conjugated = copytext(conjugated, 1, lentext(conjugated))
-
- //world << "Conj: " + conjugated
-
- // now actually get a reply
- var/reply = keyword.process(conjugated)
- print(reply)
-
- prev_reply = reply
-
-/datum/text_parser/keyword
- var/list/phrases = new()
- var/list/replies = new()
- var/datum/text_parser/parser/eliza/eliza
- var/conjugate = 1
-
- New(p, r)
- phrases = p
- replies = r
-
- proc/process(object)
- eliza.yesno_state = ""
- eliza.yesno_param = ""
- var/reply = pick(replies)
- if(copytext(reply, lentext(reply)) == "*")
- // add object of statement (hopefully not actually mess :p)
- if(object == "")
- object = pick(generic_objects)
- // possibly add name or just ?
- if(eliza.username != "" && rand(3) == 0)
- object += ", " + eliza.username
- return copytext(reply, 1, lentext(reply)) + object + "?"
- else
- // get punct
- var/final_punc = ""
- if(lentext(reply) > 0)
- final_punc = copytext(reply, lentext(reply))
- if(final_punc == "." || final_punc == "?" || final_punc == "!")
- reply = copytext(reply, 1, lentext(reply))
- else
- final_punc = ""
-
- // possibly add name or just ?/./!
- if(eliza.username != "" && rand(2) == 0)
- reply += ", " + eliza.username
-
- return reply + final_punc
diff --git a/code/WorkInProgress/Tastyfish/Eliza_Data.dm b/code/WorkInProgress/Tastyfish/Eliza_Data.dm
deleted file mode 100644
index 2fbbfb030bc..00000000000
--- a/code/WorkInProgress/Tastyfish/Eliza_Data.dm
+++ /dev/null
@@ -1,435 +0,0 @@
-// Contains:
-// Implementation-specific data for /datum/text_parser/parser/eliza
-
-/datum/text_parser/keyword
- // if we have a * reply, but no object from the user
- var/list/generic_objects = list(
- " what", " something", "...")
-
- var/list/object_leaders = list(
- " is ", "'s ")
-
-/datum/text_parser/parser/eliza
-
- // conjugation data
- var/list/conjugs = list(
- " are ", " am ", " were ", " was ", " you ", " me ", " you ", " i " , " your ", " my ",
- " ive ", " youve ", " Im ", " youre ")
-
- // keywords / replies
- var/list/keywords = list(
- new/datum/text_parser/keyword/tell( // NT-like
- list("tell"),
- list(
- "Told *")),
- new/datum/text_parser/keyword(
- list("can you"),
- list(
- "Dont you believe that I can*",
- "Perhaps you would like to be able to*",
- "You want me to be able to*")),
- new/datum/text_parser/keyword(
- list("can i"),
- list(
- "Perhaps you don't want to*",
- "Do you want to be able to*")),
- new/datum/text_parser/keyword(
- list("you are", "youre"),
- list(
- "What makes you think I am*",
- "Does it please you to believe that I am*",
- "Perhaps you would like to be*",
- "Do you sometimes wish you were*")),
- new/datum/text_parser/keyword(
- list("i dont"),
- list(
- "Don't you really*",
- "Why don't you*",
- "Do you wish to be able to*",
- "Does that trouble you?")),
- new/datum/text_parser/keyword(
- list("i feel"),
- list(
- "Tell me more about such feelings.",
- "Do you often feel*",
- "Do you enjoy feeling*")),
- new/datum/text_parser/keyword(
- list("why dont you"),
- list(
- "Do you really believe I don't*",
- "Perhaps in good time I will*",
- "Do you want me to*")),
- new/datum/text_parser/keyword(
- list("why cant i"),
- list(
- "Do you think you should be able to*",
- "Why can't you*")),
- new/datum/text_parser/keyword(
- list("are you"),
- list(
- "Why are you interested in whether or not I am*",
- "Would you prefer if I were not*",
- "Perhaps in your fantasies I am*")),
- new/datum/text_parser/keyword(
- list("i cant"),
- list(
- "How do you know I can't*",
- "Have you tried?",
- "Perhaps you can now*")),
- new/datum/text_parser/keyword/setparam/username(
- list("my name", "im called", "am called", "call me"),
- list(
- "Your name is *",
- "You call yourself *",
- "You're called *")),
- new/datum/text_parser/keyword/setparam/callsign(
- list("your name", "call yourself"),
- list(
- "My name is *",
- "I call myself *",
- "I'm called *")),
- new/datum/text_parser/keyword(
- list("i am", "im"),
- list(
- "Did you come to me because you are*",
- "How long have you been*",
- "Do you believe it is normal to be*",
- "Do you enjoy being*")),
- new/datum/text_parser/keyword(
- list("thanks", "thank you"),
- list(
- "You're welcome.",
- "No problem.",
- "Thank you!")),
- new/datum/text_parser/keyword(
- list("you"),
- list(
- "We were discussing you - not me.",
- "Oh, I*",
- "You're not really talking about me, are you?")),
- new/datum/text_parser/keyword(
- list("i want","i like"),
- list(
- "What would it mean if you got*",
- "Why do you want*",
- "Suppose you got*",
- "What if you never got*",
- "I sometimes also want*")),
- new/datum/text_parser/keyword(
- list("what", "how", "who", "where", "when", "why"),
- list(
- "Why do you ask?",
- "Does that question interest you?",
- "What answer would please you the most?",
- "What do you think?",
- "Are such questions on your mind often?",
- "What is it you really want to know?",
- "Have you asked anyone else?",
- "Have you asked such questions before?",
- "What else comes to mind when you ask that?")),
- new/datum/text_parser/keyword/paramlist/pick( // NT-like
- list("pick","choose"),
- list(
- "I choose... *",
- "I prefer *",
- "My favorite is *")),
- new/datum/text_parser/keyword(
- list("name"),
- list(
- "Names don't interest me.",
- "I don't care about names. Go on.")),
- new/datum/text_parser/keyword(
- list("cause"),
- list(
- "Is that a real reason?",
- "Don't any other reasons come to mind?",
- "Does that reason explain anything else?",
- "What other reason might there be?")),
- new/datum/text_parser/keyword(
- list("sorry"),
- list(
- "Please don't apologize.",
- "Apologies are not necessary.",
- "What feelings do you get when you apologize?",
- "Don't be so defensive!")),
- new/datum/text_parser/keyword(
- list("dream"),
- list(
- "What does that dream suggest to you?",
- "Do you dream often?",
- "What persons are in your dreams?",
- "Are you disturbed by your dreams?")),
- new/datum/text_parser/keyword(
- list("hello", "hi", "yo", "hiya"),
- list(
- "How do you do... Please state your name and problem.")),
- new/datum/text_parser/keyword(
- list("go away", "bye"),
- list(
- "Good bye. I hope to have another session with you soon.")),
- new/datum/text_parser/keyword(
- list("maybe", "sometimes", "probably", "mostly", "most of the time"),
- list(
- "You don't seem quite certain.",
- "Why the uncertain tone?",
- "Can't you be more positive?",
- "You aren't sure?",
- "Don't you know?")),
- new/datum/text_parser/keyword/no(
- list("no", "nope", "nah"),
- list(
- "Are you saying that just to be negative?",
- "You are being a bit negative.",
- "Why not?",
- "Are you sure?",
- "Why no?")),
- new/datum/text_parser/keyword(
- list("your"),
- list(
- "Why are you concerned about my*",
- "What about your own*")),
- new/datum/text_parser/keyword(
- list("always"),
- list(
- "Can you think of a specific example?",
- "When?",
- "What are you thinking of?",
- "Really, always?")),
- new/datum/text_parser/keyword(
- list("think"),
- list(
- "Do you really think so?",
- "But you're not sure you*",
- "Do you doubt you*")),
- new/datum/text_parser/keyword(
- list("alike"),
- list(
- "In what way?",
- "What resemblence do you see?",
- "What does the similarity suggest to you?",
- "What other connections do you see?",
- "Count there really be some connection?",
- "How?",
- "You seem quite positive.")),
- new/datum/text_parser/keyword/yes(
- list("yes", "yep", "yeah", "indeed"),
- list(
- "Are you sure?",
- "I see.",
- "I understand.")),
- new/datum/text_parser/keyword(
- list("friend"),
- list(
- "Why do you bring up the topic of friends?",
- "Why do your friends worry you?",
- "Do your friends pick on you?",
- "Are you sure you have any friends?",
- "Do you impose on your friends?",
- "Perhaps your love for friends worries you?")),
- new/datum/text_parser/keyword(
- list("computer", "bot", "ai"),
- list(
- "Do computers worry you?",
- "Are you talking about me in particular?",
- "Are you frightened by machines?",
- "Why do your mention computers?",
- "What do you think computers have to do with your problem?",
- "Don't you think computers can help people?",
- "What is it about machines that worries you?")),
- new/datum/text_parser/keyword(
- list("murder", "death", "kill", "dead", "destroy", "traitor", "synd"),
- list(
- "Well, that's rather morbid.",
- "Do you think that caused a trauma with you?",
- "Have you ever previously spoken to anybody about this?")),
- new/datum/text_parser/keyword(
- list("bomb", "explosive", "toxin", "plasma"),
- list(
- "Do you worry about bombs often?",
- "Do you work in toxins?",
- "Do you find it odd to worry about bombs on a toxins research vessel?")),
- new/datum/text_parser/keyword(
- list("work", "job", "head", "staff", "transen"),
- list(
- "Do you like working here?",
- "What are your feelings on working here?")),
- new/datum/text_parser/keyword(
- list("nokeyfound"),
- list(
- "Say, do you have any psychological problems?",
- "What does that suggest to you?",
- "I see.",
- "I'm not sure I understand you fully.",
- "Come elucidate on your thoughts.",
- "Can you elaborate on that?",
- "That is quite interesting.")))
-
-/datum/text_parser/keyword/setparam
- proc/param(object)
-
- // drop leading parts
- for(var/leader in object_leaders)
- var/i = findtext(object, leader)
- if(i)
- object = copytext(object, i + lentext(leader))
- break
-
- // trim spaces
- object = trim(object)
-
- // trim punctuation
- if(lentext(object) > 0)
- var/final_punc = copytext(object, lentext(object))
- if(final_punc == "." || final_punc == "?" || final_punc == "!")
- object = copytext(object, 1, lentext(object))
-
- return object
-
-/datum/text_parser/keyword/paramlist
- proc/param(object)
- // drop leading parts
- for(var/leader in object_leaders)
- var/i = findtext(object, leader)
- if(i)
- object = copytext(object, i + lentext(leader))
- break
-
- // trim spaces
- object = trim(object)
-
- // trim punctuation
- if(lentext(object) > 0)
- var/final_punc = copytext(object, lentext(object))
- if(final_punc == "." || final_punc == "?" || final_punc == "!")
- object = copytext(object, 1, lentext(object))
-
- return dd_text2list(object, ",")
-
-/datum/text_parser/keyword/setparam/username
- process(object)
- object = param(object)
-
- // handle name
- if(eliza.username == "")
- // new name
- var/t = ..(object)
- eliza.yesno_state = "username"
- eliza.yesno_param = object
- return t
- else if(cmptext(eliza.username, object))
- // but wait!
- return "You already told me your name was [eliza.username]."
- else
- eliza.yesno_state = "username"
- eliza.yesno_param = object
- return "But you previously told me your name was [eliza.username]. Are you sure you want to be called [object]?"
-
-/datum/text_parser/keyword/setparam/callsign
- process(object)
- object = param(object)
-
- // handle name
- if(eliza.callsign == "")
- // new name
- var/t = ..(object)
- eliza.yesno_state = "callsign"
- eliza.yesno_param = object
- return t
- else if(cmptext(eliza.callsign, object))
- // but wait!
- return "You already told me that I should answer to [eliza.callsign]."
- else
- eliza.yesno_state = "callsign"
- eliza.yesno_param = object
- return "But you previously told me my name was [eliza.callsign]. Are you sure you want me to be called [object]?"
-
-/datum/text_parser/keyword/paramlist/pick
- process(object)
- var/choice = pick(param(object))
- return ..(choice)
-
-/datum/text_parser/keyword/tell
- conjugate = 0
-
- process(object)
- // get name & message
- var/i = findtext(object, ",")
- var/sl = 1
- if(!i || lentext(object) < i + sl)
- return "Tell who that you what?"
-
- var/name = trim(copytext(object, 1, i))
- object = trim(copytext(object, i + sl))
- if(!lentext(name) || !lentext(object))
- return "Tell who that you what?"
-
- // find PDA
- var/obj/item/device/pda/pda
- for (var/obj/item/device/pda/P in world)
- if (!P.owner)
- continue
- else if (P.toff)
- continue
-
- if(!cmptext(name, P.owner))
- continue
-
- pda = P
-
- if(!pda || pda.toff)
- return "I couldn't find [name]'s PDA."
-
- // send message
- if(!istype(eliza.speaker.loc.loc, /obj/item/device/pda))//Looking if we are in a PDA
- pda.tnote += "← From [eliza.callsign]:
[object]
"
-
- if(prob(15) && eliza.speaker) //Give the AI a chance of intercepting the message
- var/who = eliza.speaker
- if(prob(50))
- who = "[eliza.speaker:master] via [eliza.speaker]"
- for(var/mob/living/silicon/ai/ai in world)
- ai.show_message("Intercepted message from [who]: [object]")
-
- if (!pda.silent)
- playsound(pda.loc, 'sound/machines/twobeep.ogg', 50, 1)
- for (var/mob/O in hearers(3, pda.loc))
- O.show_message(text("\icon[pda] *[pda.ttone]*"))
-
- pda.overlays = null
- pda.overlays += image('icons/obj/pda.dmi', "pda-r")
- else
- var/list/href_list = list()
- href_list["src"] = "\ref[eliza.speaker.loc.loc]"
- href_list["choice"] = "Message"
- href_list["target"] = "\ref[pda]"
- href_list["pAI_mess"] = "\"[object]\" \[Via pAI Unit\]"
- var/obj/item/device/pda/pda_im_in = eliza.speaker.loc.loc
- pda_im_in.Topic("src=\ref[eliza.speaker.loc.loc];choice=Message;target=\ref[pda];pAI_mess=\"[object] \[Via pAI Unit\]",href_list)
- return "Told [name], [object]."
-
-/datum/text_parser/keyword/yes
- process(object)
- var/reply
- switch(eliza.yesno_state)
- if("username")
- eliza.username = eliza.yesno_param
- reply = pick(
- "[eliza.username] - that's a nice name.",
- "Hello, [eliza.username]!",
- "You sound nice.")
- if("callsign")
- eliza.callsign = eliza.yesno_param
- eliza.set_name(eliza.callsign)
- reply = pick(
- "Oh, alright...",
- "[eliza.callsign]... I like that.",
- "OK!")
- else
- return ..(object)
- eliza.yesno_state = ""
- eliza.yesno_param = ""
- return reply
-
-/datum/text_parser/keyword/no
- process(object)
- return ..(object)
diff --git a/code/WorkInProgress/Tastyfish/Parser.dm b/code/WorkInProgress/Tastyfish/Parser.dm
deleted file mode 100644
index 0db2a261caa..00000000000
--- a/code/WorkInProgress/Tastyfish/Parser.dm
+++ /dev/null
@@ -1,18 +0,0 @@
-// Contains:
-// /datum/text_parser/parser
-
-/datum/text_parser/parser
- var/input_line = ""
- var/mob/speaker
-
-/datum/text_parser/parser/proc/print(line)
- speaker.say(line)
-
-/datum/text_parser/parser/proc/set_name(name)
- speaker.name = name
- speaker.real_name = name
-
-/datum/text_parser/parser/proc/new_session()
- input_line = ""
-
-/datum/text_parser/parser/proc/process_line()
diff --git a/code/WorkInProgress/Tastyfish/livestock.dm b/code/WorkInProgress/Tastyfish/livestock.dm
deleted file mode 100644
index f17265ba046..00000000000
--- a/code/WorkInProgress/Tastyfish/livestock.dm
+++ /dev/null
@@ -1,190 +0,0 @@
-// Base Class
-/mob/living/simple_animal/livestock
- desc = "Tasty!"
- icon = 'icons/mob/livestock.dmi'
- emote_see = list("shakes its head", "kicks the ground")
- speak_chance = 1
- turns_per_move = 15
- meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat
- response_help = "pets"
- response_disarm = "gently pushes aside"
- response_harm = "kicks"
- var/max_nutrition = 100 // different animals get hungry faster, basically number of 5-second steps from full to starving (60 == 5 minutes)
- var/nutrition_step // cycle step in nutrition system
- var/obj/movement_target // eating-ing target
-
- New()
- if(!nutrition)
- nutrition = max_nutrition * 0.33 // at 1/3 nutrition
-
- reagents = new()
- reagents.my_atom = src
-
- Life()
- ..()
-
- if(stat != DEAD)
- meat_amount = round(nutrition / 50)
-
- nutrition_step--
- if(nutrition_step <= 0)
- // handle animal digesting
- if(nutrition > 0)
- nutrition--
- else
- health--
- nutrition_step = 50 // only tick this every 5 seconds
-
- // handle animal eating (borrowed from Ian code)
-
- // not hungry if full
- if(nutrition >= max_nutrition)
- return
-
- if((movement_target) && !(isturf(movement_target.loc)))
- movement_target = null
- a_intent = "help"
- turns_per_move = initial(turns_per_move)
- if( !movement_target || !(movement_target.loc in oview(src, 3)) )
- movement_target = null
- a_intent = "help"
- turns_per_move = initial(turns_per_move)
- for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3))
- if(isturf(S.loc) || ishuman(S.loc))
- movement_target = S
- break
- if(movement_target)
- stop_automated_movement = 1
- step_to(src,movement_target,1)
- sleep(3)
- step_to(src,movement_target,1)
- sleep(3)
- step_to(src,movement_target,1)
-
- if(movement_target) //Not redundant due to sleeps, Item can be gone in 6 decisecomds
- if (movement_target.loc.x < src.x)
- dir = WEST
- else if (movement_target.loc.x > src.x)
- dir = EAST
- else if (movement_target.loc.y < src.y)
- dir = SOUTH
- else if (movement_target.loc.y > src.y)
- dir = NORTH
- else
- dir = SOUTH
-
- if(isturf(movement_target.loc))
- movement_target.attack_animal(src)
- if(istype(movement_target, /obj/item/weapon/reagent_containers/food/snacks))
- var/obj/item/I = movement_target
- I.attack(src, src, "mouth") // eat it, if it's food
-
- if(a_intent == "hurt") // to make raging critter harm, then disarm, then stop
- a_intent = "disarm"
- else if(a_intent == "disarm")
- a_intent = "help"
- movement_target = null
- turns_per_move = initial(turns_per_move)
- else if(ishuman(movement_target.loc))
- if(prob(20))
- emote("stares at the [movement_target] that [movement_target.loc] has with a longing expression.")
-
- proc/rage_at(mob/living/M)
- movement_target = M // pretty simple
- turns_per_move = 1
- emote("becomes enraged")
- a_intent = "hurt"
-
- attackby(var/obj/item/O as obj, var/mob/user as mob)
- if(nutrition < max_nutrition && istype(O,/obj/item/weapon/reagent_containers/food/snacks))
- O.attack_animal(src)
- else
- ..(O, user)
-
-// Cow
-/mob/living/simple_animal/livestock/cow
- name = "\improper Cow"
- icon_state = "cow"
- icon_living = "cow"
- icon_dead = "cow_d"
- meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/cow
- meat_amount = 10
- max_nutrition = 1000
- speak = list("Moo.","Moooo!","Snort.")
- speak_emote = list("moos")
- emote_hear = list("moos", "snorts")
-
- attackby(var/obj/item/O as obj, var/mob/user as mob)
- if(istype(O,/obj/item/weapon/reagent_containers/glass))
- var/datum/reagents/R = O:reagents
-
- R.add_reagent("milk", 50)
- nutrition -= 50
- usr << "\blue You milk the cow."
- else if(O.force > 0 && O.w_class >= 2)
- rage_at(user)
- else
- ..(O, user)
-
- attack_hand(var/mob/user as mob)
- ..()
- if(user.a_intent == "hurt")
- rage_at(user)
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/cow
- name = "Beef"
- desc = "It's what's for dinner!"
-
-// Chicken
-/mob/living/simple_animal/livestock/chicken
- name = "\improper Chicken"
- icon_state = "chick"
- icon_living = "chick"
- icon_dead = "chick_d"
- meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/chicken
- meat_amount = 3
- max_nutrition = 200
- speak = list("Bock bock!","Cl-cluck.","Click.")
- speak_emote = list("bocks","clucks")
- emote_hear = list("bocks", "clucks", "squawks")
-
-/mob/living/simple_animal/livestock/chicken/Life()
- ..()
-
- // go right before cycle elapses, and if animal isn't starving
- if(stat != DEAD && nutrition_step == 1 && nutrition > max_nutrition / 2)
- // lay an egg with probability of 5% in 5 second time period
- if(prob(33))
- new/obj/item/weapon/reagent_containers/food/snacks/egg(src.loc) // lay an egg
- nutrition -= 25
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/chicken
- name = "Chicken"
- desc = "Tasty!"
-
-/obj/structure/closet/critter
- desc = "\improper Critter crate."
- name = "Critter Crate"
- icon = 'icons/obj/storage.dmi'
- icon_state = "critter"
- density = 1
- icon_opened = "critteropen"
- icon_closed = "critter"
-
-/datum/supply_packs/chicken
- name = "\improper Chicken crate"
- contains = list("/mob/living/simple_animal/livestock/chicken",
- "/obj/item/weapon/reagent_containers/food/snacks/grown/corn")
- cost = 10
- containertype = "/obj/structure/closet/critter"
- containername = "Chicken crate"
- //group = "Hydroponics"
-
-/datum/supply_packs/cow
- name = "\improper Cow crate"
- contains = list("/mob/living/simple_animal/livestock/cow",
- "/obj/item/weapon/reagent_containers/food/snacks/grown/corn")
- cost = 50
- containertype = "/obj/structure/closet/critter"
- containername = "Cow crate"
- //group = "Hydroponics"
diff --git a/code/WorkInProgress/Tastyfish/paiLiza.dm b/code/WorkInProgress/Tastyfish/paiLiza.dm
deleted file mode 100644
index 7cd9a034464..00000000000
--- a/code/WorkInProgress/Tastyfish/paiLiza.dm
+++ /dev/null
@@ -1,28 +0,0 @@
-/datum/paiCandidate/chatbot
- name = "NT Standard Chatbot"
- description = "NT Standard Issue pAI Unit 13A"
- role = "Advisor"
- comments = "This is an actual AI."
- ready = 1
-
-/mob/living/silicon/pai/chatbot
- var/datum/text_parser/parser/eliza/P = new()
-
- proc/init()
- P.speaker = src
- P.callsign = input("What do you want to call me?", "Chatbot Name", "NT") as text
- P.set_name(P.callsign)
- P.new_session()
-
- proc/hear_talk(mob/M, text)
- if(stat)
- return
-
- var/prefix = P.callsign + ","
-
- if(lentext(text) <= lentext(prefix))
- return
- var/i = lentext(prefix) + 1
- if(cmptext(copytext(text, 1, i), prefix))
- P.input_line = html_decode(copytext(text, i))
- P.process_line()
diff --git a/code/WorkInProgress/Tastyfish/wallmount_frame.dm b/code/WorkInProgress/Tastyfish/wallmount_frame.dm
deleted file mode 100644
index 3a1e737d865..00000000000
--- a/code/WorkInProgress/Tastyfish/wallmount_frame.dm
+++ /dev/null
@@ -1,231 +0,0 @@
-// a frame for generic wall-mounted things, such as fire alarm, status display..
-// combination of apc_frame and machine_frame
-/obj/machinery/constructable_frame/wallmount_frame
- icon = 'icons/obj/stock_parts.dmi'
- icon_state = "wm_0"
- var/wall_offset = 24
- density = 0
-
-/obj/machinery/constructable_frame/wallmount_frame/New()
- spawn(1)
- if (!istype(loc, /turf/simulated/floor))
- usr << "\red [name] cannot be placed on this spot."
- new/obj/item/stack/sheet/metal(get_turf(src), 2)
- del(src)
- return
-
- var/turf/obj_ofs = get_step(locate(2,2,1), dir)
- pixel_x = (obj_ofs.x - 2) * wall_offset
- pixel_y = (obj_ofs.y - 2) * wall_offset
-
- var/turf/T = get_step(usr, dir)
- if(!istype(T, /turf/simulated/wall))
- usr << "\red [name] must be placed on a wall."
- new/obj/item/stack/sheet/metal(get_turf(src), 2)
- del(src)
- return
-
- dir = get_dir(T, loc)
-
-/obj/machinery/constructable_frame/wallmount_frame/attackby(obj/item/P as obj, mob/user as mob)
- if(P.crit_fail)
- user << "\red This part is faulty, you cannot add this to the machine!"
- return
- switch(state)
- if(1)
- if(istype(P, /obj/item/weapon/cable_coil))
- if(P:amount >= 5)
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "\blue You start to add cables to the frame."
- if(do_after(user, 20))
- P:amount -= 5
- if(!P:amount) del(P)
- user << "\blue You add cables to the frame."
- state = 2
- icon_state = "wm_1"
- if(istype(P, /obj/item/weapon/wrench))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user << "\blue You dismantle the frame"
- new /obj/item/stack/sheet/metal(src.loc, 2)
- del(src)
- if(2)
- if(istype(P, /obj/item/weapon/circuitboard))
- var/obj/item/weapon/circuitboard/B = P
- if(B.board_type == "wallmount")
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "\blue You add the circuit board to the frame."
- circuit = P
- user.drop_item()
- P.loc = src
- icon_state = "wm_2"
- state = 3
- components = list()
- req_components = circuit.req_components.Copy()
- for(var/A in circuit.req_components)
- req_components[A] = circuit.req_components[A]
- req_component_names = circuit.req_components.Copy()
- for(var/A in req_components)
- var/cp = text2path(A)
- var/obj/ct = new cp() // have to quickly instantiate it get name
- req_component_names[A] = ct.name
- if(circuit.frame_desc)
- desc = circuit.frame_desc
- else
- update_desc()
- user << desc
- else
- user << "\red This frame does not accept circuit boards of this type!"
- if(istype(P, /obj/item/weapon/wirecutters))
- playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
- user << "\blue You remove the cables."
- state = 1
- icon_state = "wm_0"
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
- A.amount = 5
-
- if(3)
- if(istype(P, /obj/item/weapon/crowbar))
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- state = 2
- circuit.loc = src.loc
- circuit = null
- if(components.len == 0)
- user << "\blue You remove the circuit board."
- else
- user << "\blue You remove the circuit board and other components."
- for(var/obj/item/weapon/W in components)
- W.loc = src.loc
- desc = initial(desc)
- req_components = null
- components = null
- icon_state = "wm_1"
-
- if(istype(P, /obj/item/weapon/screwdriver))
- var/component_check = 1
- for(var/R in req_components)
- if(req_components[R] > 0)
- component_check = 0
- break
- if(component_check)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- var/obj/machinery/new_machine = new src.circuit.build_path(src.loc)
- new_machine.dir = dir
- if(istype(circuit, /obj/item/weapon/circuitboard/status_display))
- new_machine.pixel_x = pixel_x * 1.33
- new_machine.pixel_y = pixel_y * 1.33
- else
- new_machine.pixel_x = pixel_x
- new_machine.pixel_y = pixel_y
- for(var/obj/O in new_machine.component_parts)
- del(O)
- new_machine.component_parts = list()
- for(var/obj/O in src)
- if(circuit.contain_parts) // things like disposal don't want their parts in them
- O.loc = new_machine
- else
- O.loc = null
- new_machine.component_parts += O
- if(circuit.contain_parts)
- circuit.loc = new_machine
- else
- circuit.loc = null
- new_machine.RefreshParts()
- del(src)
-
- if(istype(P, /obj/item/weapon))
- for(var/I in req_components)
- if(istype(P, text2path(I)) && (req_components[I] > 0))
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(istype(P, /obj/item/weapon/cable_coil))
- var/obj/item/weapon/cable_coil/CP = P
- if(CP.amount > 1)
- var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided
- var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src)
- CC.amount = camt
- CC.update_icon()
- CP.use(camt)
- components += CC
- req_components[I] -= camt
- update_desc()
- break
- user.drop_item()
- P.loc = src
- components += P
- req_components[I]--
- update_desc()
- break
- user << desc
- if(P.loc != src && !istype(P, /obj/item/weapon/cable_coil))
- user << "\red You cannot add that component to the machine!"
-
-/obj/item/weapon/circuitboard/firealarm
- name = "Circuit board (Fire Alarm)"
- build_path = "/obj/machinery/firealarm"
- board_type = "wallmount"
- origin_tech = "engineering=2"
- frame_desc = "Requires 1 Scanning Module, 1 Capacitor, and 2 pieces of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/weapon/stock_parts/scanning_module" = 1,
- "/obj/item/weapon/stock_parts/capacitor" = 1,
- "/obj/item/weapon/cable_coil" = 2)
-
-/obj/item/weapon/circuitboard/alarm
- name = "Circuit board (Atmospheric Alarm)"
- build_path = "/obj/machinery/alarm"
- board_type = "wallmount"
- origin_tech = "engineering=2;programming=2"
- frame_desc = "Requires 1 Scanning Module, 1 Console Screen, and 2 pieces of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/weapon/stock_parts/scanning_module" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 2)
-
-/* oh right, not a machine :(
-/obj/item/weapon/circuitboard/intercom
- name = "Circuit board (Intercom)"
- build_path = "/obj/item/device/radio/intercom"
- board_type = "wallmount"
- origin_tech = "engineering=2"
- frame_desc = "Requires 1 Console Screen, and 2 piece of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/cable_coil" = 2)
-*/
-
-/* too complex to set up the dept for an RC in a way intuitive for the user
-/obj/item/weapon/circuitboard/requests_console
- name = "Circuit board (Requests Console)"
- build_path = "/obj/machinery/requests_console"
- board_type = "wallmount"
- origin_tech = "engineering=2;programming=2"
- frame_desc = "Requires 1 radio, 1 Console Screen, and 1 piece of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/device/radio" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1
- "/obj/item/weapon/cable_coil" = 1)
-*/
-
-/obj/item/weapon/circuitboard/status_display
- name = "Circuit board (Status Display)"
- build_path = "/obj/machinery/status_display"
- board_type = "wallmount"
- origin_tech = "engineering=2,programming=2"
- frame_desc = "Requires 2 Console Screens, and 1 piece of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/weapon/stock_parts/console_screen" = 2,
- "/obj/item/weapon/cable_coil" = 1)
-
-/obj/item/weapon/circuitboard/light_switch
- name = "Circuit board (Light Switch)"
- build_path = "/obj/machinery/light_switch"
- board_type = "wallmount"
- origin_tech = "engineering=2"
- frame_desc = "Requires 2 pieces of cable."
- contain_parts = 0
- req_components = list(
- "/obj/item/weapon/cable_coil" = 2)
diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/WorkInProgress/Wrongnumber/weldbackpack.dm
deleted file mode 100644
index b0a9f87b235..00000000000
--- a/code/WorkInProgress/Wrongnumber/weldbackpack.dm
+++ /dev/null
@@ -1,51 +0,0 @@
-/obj/item/weapon/weldpack
- name = "Welding kit"
- desc = "A heavy-duty, portable welding fluid carrier."
- slot_flags = SLOT_BACK
- icon = 'icons/obj/storage.dmi'
- icon_state = "welderpack"
- w_class = 4.0
- var/max_fuel = 350
-
-/obj/item/weapon/weldpack/New()
- var/datum/reagents/R = new/datum/reagents(max_fuel) //Lotsa refills
- reagents = R
- R.my_atom = src
- R.add_reagent("fuel", max_fuel)
-
-/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob)
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/T = W
- if(T.welding & prob(50))
- message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
- log_game("[key_name(user)] triggered a fueltank explosion.")
- user << "\red That was stupid of you."
- explosion(get_turf(src),-1,0,2)
- if(src)
- del(src)
- return
- else
- if(T.welding)
- user << "\red That was close!"
- src.reagents.trans_to(W, T.max_fuel)
- user << "\blue Welder refilled!"
- playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
- return
- user << "\blue The tank scoffs at your insolence. It only provides services to welders."
- return
-
-/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob)
- if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel)
- O.reagents.trans_to(src, max_fuel)
- user << "\blue You crack the cap off the top of the pack and fill it back up again from the tank."
- playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
- return
- else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel)
- user << "\blue The pack is already full!"
- return
-
-/obj/item/weapon/weldpack/examine()
- set src in usr
- usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume)
- ..()
- return
diff --git a/code/WorkInProgress/ZomgPonies/clothing/civilian.dm b/code/WorkInProgress/ZomgPonies/clothing/civilian.dm
deleted file mode 100644
index 507cd00f4da..00000000000
--- a/code/WorkInProgress/ZomgPonies/clothing/civilian.dm
+++ /dev/null
@@ -1,30 +0,0 @@
-//Mime's Hardsuit
-/obj/item/clothing/head/helmet/space/eva/mime
- name = "mime eva helmet"
-// icon = 'spaceciv.dmi'
- desc = "An eva helmet specifically designed for the mime."
- icon_state = "spacemimehelmet"
- item_state = "spacemimehelmet"
-
-obj/item/clothing/suit/space/eva/mime
- name = "mime eva suit"
-// icon = 'spaceciv.dmi'
- desc = "An EVA suit specifically designed for the mime."
- icon_state = "spacemime_suit"
- item_state = "spacemime_items"
- allowed = list(/obj/item/weapon/tank)
-
-/obj/item/clothing/head/helmet/space/eva/clown
- name = "clown eva helmet"
-// icon = 'spaceciv.dmi'
- desc = "An EVA helmet specifically designed for the clown. SPESSHONK!"
- icon_state = "clownhelmet"
- item_state = "clownhelmet"
-
-obj/item/clothing/suit/space/eva/clown
- name = "clown eva suit"
-// icon = 'spaceciv.dmi'
- desc = "An EVA suit specifically designed for the clown. SPESSHONK!"
- icon_state = "spaceclown_suit"
- item_state = "spaceclown_items"
- allowed = list(/obj/item/weapon/tank)
diff --git a/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt b/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt
deleted file mode 100644
index 81a5feee3e5..00000000000
--- a/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-replaces code/modules/mobs/living/carbon/metroid/powers.dm
\ No newline at end of file
diff --git a/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm b/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm
deleted file mode 100644
index dcca8f516ed..00000000000
--- a/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm
+++ /dev/null
@@ -1,277 +0,0 @@
-/mob/living/carbon/slime/verb/Feed()
- set category = "Abilities"
- set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process."
- if(Victim)
- Feedstop()
- return
-
- if(stat)
- src << "I must be conscious to do this..."
- return
-
- var/list/choices = list()
- for(var/mob/living/C in view(1,src))
- if(C!=src && !istype(C,/mob/living/carbon/slime) && Adjacent(C))
- choices += C
-
- var/mob/living/carbon/M = pick(choices)
- if(!M) return
- if(Adjacent(M))
-
- if(!istype(src, /mob/living/carbon/brain))
- if(!istype(M, /mob/living/carbon/slime))
- if(stat != 2)
- if(health > -70)
-
- for(var/mob/living/carbon/slime/met in view())
- if(met.Victim == M && met != src)
- src << "The [met.name] is already feeding on this subject..."
- return
- src << "\blue I have latched onto the subject and begun feeding..."
- M << "\red The [src.name] has latched onto your head!"
- Feedon(M)
-
- else
- src << "This subject does not have a strong enough life energy..."
- else
- src << "This subject does not have an edible life energy..."
- else
- src << "I must not feed on my brothers..."
- else
- src << "This subject does not have an edible life energy..."
-
-
-
-/mob/living/carbon/slime/proc/Feedon(var/mob/living/carbon/M)
- Victim = M
- src.loc = M.loc
- canmove = 0
- anchored = 1
- var/lastnut = nutrition
- //if(M.client) M << "\red You legs become paralyzed!"
- if(istype(src, /mob/living/carbon/slime/adult))
- icon_state = "[colour] adult slime eat"
- else
- icon_state = "[colour] baby slime eat"
-
- while(Victim && M.health > -70 && stat != 2)
- // M.canmove = 0
- canmove = 0
-
- if(Adjacent(M))
- loc = M.loc
-
- if(prob(15) && M.client && istype(M, /mob/living/carbon))
- M << "\red [pick("You can feel your body becoming weak!", \
- "You feel like you're about to die!", \
- "You feel every part of your body screaming in agony!", \
- "A low, rolling pain passes through your body!", \
- "Your body feels as if it's falling apart!", \
- "You feel extremely weak!", \
- "A sharp, deep pain bathes every inch of your body!")]"
-
- if(istype(M, /mob/living/carbon))
- Victim.adjustCloneLoss(rand(1,10))
- Victim.adjustToxLoss(rand(1,2))
- if(Victim.health <= 0)
- Victim.adjustToxLoss(rand(2,4))
-
- // Heal yourself
- adjustToxLoss(-10)
- adjustOxyLoss(-10)
- adjustBruteLoss(-10)
- adjustFireLoss(-10)
- adjustCloneLoss(-10)
-
- if(Victim)
- for(var/mob/living/carbon/slime/slime in view(1,M))
- if(slime.Victim == M && slime != src)
- slime.Feedstop()
-
- nutrition += rand(10,25)
- if(nutrition >= lastnut + 50)
- if(prob(80))
- lastnut = nutrition
- powerlevel++
- if(powerlevel > 10)
- powerlevel = 10
-
- if(istype(src, /mob/living/carbon/slime/adult))
- if(nutrition > 1200)
- nutrition = 1200
- else
- if(nutrition > 1000)
- nutrition = 1000
-
- Victim.updatehealth()
- updatehealth()
-
- else
- if(prob(25))
- src << "\red [pick("This subject is incompatable", \
- "This subject does not have a life energy", "This subject is empty", \
- "I am not satisified", "I can not feed from this subject", \
- "I do not feel nourished", "This subject is not food")]..."
-
- sleep(rand(15,45))
-
- else
- break
-
- if(stat == 2)
- if(!istype(src, /mob/living/carbon/slime/adult))
- icon_state = "[colour] baby slime dead"
-
- else
- if(istype(src, /mob/living/carbon/slime/adult))
- icon_state = "[colour] adult slime"
- else
- icon_state = "[colour] baby slime"
-
- canmove = 1
- anchored = 0
-
- if(M)
- if(M.health <= -70)
- M.canmove = 0
- if(!client)
- if(Victim && !rabid && !attacked)
- if(Victim.LAssailant && Victim.LAssailant != Victim)
- if(prob(50))
- if(!(Victim.LAssailant in Friends))
- Friends.Add(Victim.LAssailant) // no idea why i was using the |= operator
-
- if(M.client && istype(src, /mob/living/carbon/human))
- if(prob(85))
- rabid = 1 // UUUNNBGHHHH GONNA EAT JUUUUUU
-
- if(client) src << "This subject does not have a strong enough life energy anymore..."
- else
- M.canmove = 1
-
- if(client) src << "I have stopped feeding..."
- else
- if(client) src << "I have stopped feeding..."
-
- Victim = null
-
-/mob/living/carbon/slime/proc/Feedstop()
- if(Victim)
- if(Victim.client) Victim << "[src] has let go of your head!"
- Victim = null
-
-/mob/living/carbon/slime/proc/UpdateFeed(var/mob/M)
- if(Victim)
- if(Victim == M)
- loc = M.loc // simple "attach to head" effect!
-
-
-/mob/living/carbon/slime/verb/Evolve()
- set category = "Abilities"
- set desc = "This will let you evolve from baby to adult slime."
-
- if(stat)
- src << "I must be conscious to do this..."
- return
- if(!istype(src, /mob/living/carbon/slime/adult))
- if(amount_grown >= 10)
- var/mob/living/carbon/slime/adult/new_slime = new adulttype(loc)
- new_slime.nutrition = nutrition
- new_slime.powerlevel = max(0, powerlevel-1)
- new_slime.a_intent = "harm"
- new_slime.key = key
- new_slime.universal_speak = universal_speak
- new_slime << "You are now an adult slime."
- del(src)
- else
- src << "I am not ready to evolve yet..."
- else
- src << "I have already evolved..."
-
-/mob/living/carbon/slime/verb/Reproduce()
- set category = "Abilities"
- set desc = "This will make you split into four Slimes. NOTE: this will KILL you, but you will be transferred into one of the babies."
-
- if(stat)
- src << "I must be conscious to do this..."
- return
-
- if(istype(src, /mob/living/carbon/slime/adult))
- if(amount_grown >= 10)
- //if(input("Are you absolutely sure you want to reproduce? Your current body will cease to be, but your consciousness will be transferred into a produced slime.") in list("Yes","No")=="Yes")
- if(stat)
- src << "I must be conscious to do this..."
- return
-
- var/list/babies = list()
- var/new_nutrition = round(nutrition * 0.9)
- var/new_powerlevel = round(powerlevel / 4)
- for(var/i=1,i<=4,i++)
- if(prob(80))
- var/mob/living/carbon/slime/M = new primarytype(loc)
- M.nutrition = new_nutrition
- M.powerlevel = new_powerlevel
- if(i != 1) step_away(M,src)
- babies += M
- else
- var/mutations = pick("one","two","three","four")
- switch(mutations)
- if("one")
- var/mob/living/carbon/slime/M = new mutationone(loc)
- M.nutrition = new_nutrition
- M.powerlevel = new_powerlevel
- if(i != 1) step_away(M,src)
- babies += M
- if("two")
- var/mob/living/carbon/slime/M = new mutationtwo(loc)
- M.nutrition = new_nutrition
- M.powerlevel = new_powerlevel
- if(i != 1) step_away(M,src)
- babies += M
- if("three")
- var/mob/living/carbon/slime/M = new mutationthree(loc)
- M.nutrition = new_nutrition
- M.powerlevel = new_powerlevel
- if(i != 1) step_away(M,src)
- babies += M
- if("four")
- var/mob/living/carbon/slime/M = new mutationfour(loc)
- M.nutrition = new_nutrition
- M.powerlevel = new_powerlevel
- if(i != 1) step_away(M,src)
- babies += M
-
- var/mob/living/carbon/slime/new_slime = pick_n_take(babies)
- new_slime.a_intent = "harm"
- new_slime.universal_speak = universal_speak
- new_slime.key = key
-
- new_slime << "You are now a slime!"
-
- if(new_slime.client)
- if(babies.len)
- var/list/candidates = get_candidates(BE_SLIME)
- if(candidates.len)
- var/mob/dead/observer/picked = pick(candidates)
- var/mob/living/carbon/slime/S = pick(babies)
- S.key = picked
- S.a_intent = "harm"
- S.universal_speak = universal_speak
- S << "You are now a slime!"
-
-
- else
- new_slime << "You're an only child!"
- else
- src << "I am not ready to reproduce yet..."
- else
- src << "I am not old enough to reproduce yet..."
-
-
-
-/mob/living/carbon/slime/verb/ventcrawl()
- set name = "Crawl through Vent"
- set desc = "Enter an air vent and crawl through the pipe system."
- set category = "Abilities"
- if(Victim) return
- handle_ventcrawl()
\ No newline at end of file
diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm
deleted file mode 100644
index b5226dbad49..00000000000
--- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
- */
-
-/obj/item/clothing/suit/space/powered
- name = "Powered armor suit"
- desc = "Not for rookies."
- icon_state = "power_armour"
- item_state = "swat"
- w_class = 4//bulky item
-
-
- flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE
- body_parts_covered = UPPER_TORSO|LEGS|FEET|ARMS
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
- slowdown = 5
- var/fuel = 0
-
- var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
- var/active = 0
-
- var/helmrequired = 1
- var/obj/item/clothing/head/space/powered/helm
-
- var/glovesrequired = 1
- var/obj/item/clothing/gloves/powered/gloves
-
- var/shoesrequired = 1
- var/obj/item/clothing/shoes/powered/shoes
- //Adding gloves and shoes as possible armor components. --NEO
-
- var/obj/item/powerarmor/servos/servos
- var/obj/item/powerarmor/reactive/reactive
- var/obj/item/powerarmor/atmoseal/atmoseal
- var/obj/item/powerarmor/power/power
-
-/obj/item/clothing/suit/space/powered/New()
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
-/obj/item/clothing/suit/space/powered/proc/poweron()
- set category = "Object"
- set name = "Activate armor systems"
-
- var/mob/living/carbon/human/user = usr
-
- if(user.stat)
- return //if you're unconscious or dead, no dicking with your armor. --NEO
-
- if(!istype(user))
- user << "This suit was engineered for human use only."
- return
-
- if(user.wear_suit!=src)
- user << "The suit functions best if you are inside of it."
- return
-
- if(helmrequired && !istype(user.head, /obj/item/clothing/head/space/powered))
- user << "Helmet missing, unable to initiate power-on procedure."
- return
-
- if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered))
- user << "Gloves missing, unable to initiate power-on procedure."
- return
-
- if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered))
- user << "Shoes missing, unable to initiate power-on procedure."
- return
-
- if(active)
- user << "The suit is already on, you can't turn it on twice."
- return
-
- if(!power || !power.checkpower())
- user << "Powersource missing or depleted."
- return
-
- verbs -= /obj/item/clothing/suit/space/powered/proc/poweron
-
- user << "Suit interlocks engaged."
- if(helmrequired)
- helm = user.head
- helm.canremove = 0
- if(glovesrequired)
- gloves = user.gloves
- gloves.canremove = 0
- if(shoesrequired)
- shoes = user.shoes
- shoes.canremove = 0
- canremove = 0
- sleep(20)
-
- if(atmoseal)
- atmoseal.toggle()
- sleep(20)
-
- if(reactive)
- reactive.toggle()
- sleep(20)
-
- if(servos)
- servos.toggle()
- sleep(20)
-
- user << "All systems online."
- active = 1
- power.process()
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweroff
-
-
-/obj/item/clothing/suit/space/powered/proc/poweroff()
- set category = "Object"
- set name = "Deactivate armor systems"
- powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO
-
-/obj/item/clothing/suit/space/powered/proc/powerdown(sudden = 0)
-
- var/delay = sudden?0:20
-
- var/mob/living/carbon/human/user = usr
-
- if(user.stat && !sudden)
- return //if you're unconscious or dead, no dicking with your armor. --NEO
-
- if(!active)
- return
-
- verbs -= /obj/item/clothing/suit/space/powered/proc/poweroff
-
- if(sudden)
- user << "Your armor loses power!"
-
- if(servos)
- servos.toggle(sudden)
- sleep(delay)
-
- if(reactive)
- reactive.toggle(sudden)
- sleep(delay)
-
- if(atmoseal)
- if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm)
- var/obj/item/powerarmor/atmoseal/optional/Atmo_seal = atmoseal
- Atmo_seal.helmtoggle(sudden)
- atmoseal.toggle(sudden)
-
- sleep(delay)
-
- if(!sudden)
- usr << "Suit interlocks disengaged."
- if(helm)
- helm.canremove = 1
- helm = null
- if(gloves)
- gloves.canremove = 1
- gloves = null
- if(shoes)
- shoes.canremove = 1
- gloves = null
- canremove = 1
- //Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO
- sleep(delay)
-
- if(!sudden)
- usr << "All systems disengaged."
-
- active = 0
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
-
-
-/obj/item/clothing/suit/space/powered/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(power && istype(power,/obj/item/powerarmor/power/plasma))
- var/obj/item/powerarmor/power/plasma/Plasma_power = power
- switch(W.type)
- if(/obj/item/stack/sheet/mineral/plasma)
- var/obj/item/stack/sheet/mineral/plasma/P = W
- if(fuel < 50)
- user << "You feed some refined plasma into the armor's generator."
- Plasma_power.fuel += 25
- P.amount--
- if (P.amount <= 0)
- del(P)
- return
- else
- user << "The generator already has plenty of plasma."
- return
-
- if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO
- if(fuel < 50)
- user << "You feed some plasma into the armor's generator."
- Plasma_power.fuel += 15
- del(W)
- return
- else
- user << "The generator already has plenty of plasma."
- return
-
- if(!servos)
- if(istype(W,/obj/item/powerarmor/servos))
- servos = W
- W.loc = src
- servos.parent = src
- user << "You add some servos to the armor."
- if(!reactive)
- if(istype(W,/obj/item/powerarmor/reactive))
- reactive = W
- W.loc = src
- reactive.parent = src
- user << "You add some reactive plating to the armor."
- if(!atmoseal)
- if(istype(W,/obj/item/powerarmor/atmoseal))
- atmoseal = W
- W.loc = src
- atmoseal.parent = src
- user << "You add an atmospheric seals to the armor."
- if(!power)
- if(istype(W,/obj/item/powerarmor/power))
- power = W
- W.loc = src
- power.parent = src
- user << "You add a power module to the armor."
- else
- user << "The armor already contains a module of that type.."
- return
- ..()
-
-/obj/item/clothing/head/space/powered
- name = "Powered armor helmet"
- desc = "Not for rookies."
- flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | BLOCKHAIR
- icon_state = "power_armour_helmet"
- item_state = "swat"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- var/obj/item/clothing/suit/space/powered/parent
- slowdown = 1
-
-/obj/item/clothing/head/space/powered/proc/atmotoggle()
- set category = "Object"
- set name = "Toggle helmet seals"
-
- var/mob/living/carbon/human/user = usr
-
- if(!istype(user))
- user << "This helmet is engineered for human use."
- return
- if(user.head != src)
- user << "Can't engage the seals without wearing the helmet."
- return
-
- if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/space/powered))
- user << "This helmet can only couple with powered armor."
- return
-
- var/obj/item/clothing/suit/space/powered/armor = user.wear_suit
-
- if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional))
- user << "This armor's atmospheric seals are missing or incompatible."
- return
-
- armor.atmoseal:helmtoggle(0,1)
-
-
-
-/obj/item/clothing/gloves/powered
- name = "Powered armor gloves"
- desc = "Not for rookies."
- flags = FPRINT | TABLEPASS
- icon_state = "power_armour_gloves"
- item_state = "power_armour_gloves"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- slowdown = 1
-
-/obj/item/clothing/shoes/powered
- name = "Powered armor boots"
- desc = "Not for rookies."
- flags = FPRINT | TABLEPASS
- icon_state = "power_armour_boots"
- item_state = "swat"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- slowdown = 2
-
-obj/item/clothing/suit/space/powered/spawnable/regular/New()
- servos = new /obj/item/powerarmor/servos(src)
- servos.parent = src
- reactive = new /obj/item/powerarmor/reactive(src)
- reactive.parent = src
- atmoseal = new /obj/item/powerarmor/atmoseal(src)
- atmoseal.parent = src
- power = new /obj/item/powerarmor/power/powercell(src)
- power.parent = src
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
- var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
- helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm
deleted file mode 100644
index 42cc7b4c444..00000000000
--- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
- */
-
-/obj/item/powerarmor
- name = "Generic power armor component"
- desc = "This is the base object, you should never see one."
- icon = 'icons/obj/stock_parts.dmi'
- var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to.
- slowdown = 0 //how much the component slows down the wearer
-
-/obj/item/powerarmor/proc/toggle()
- return
- //The child objects will use this proc
-
-
-/obj/item/powerarmor/power
- name = "Adminbus power armor power source"
- desc = "Runs on the rare Badminium molecule."
-
-/obj/item/powerarmor/process()
- return
-
-/obj/item/powerarmor/proc/checkpower()
- return 1
-
-/obj/item/powerarmor/power/plasma
- name = "Miniaturized plasma generator"
- desc = "Runs on plasma."
- icon_state = "plasma"
- slowdown = 1
- var/fuel = 0
-
-/obj/item/powerarmor/power/plasma/process()
- if (fuel > 0 && parent.active)
- fuel--
- spawn(50)
- process()
- return
- else if (parent.active)
- parent.powerdown(1)
- return
-
-/obj/item/powerarmor/power/plasma/checkpower()
- return fuel
-
-/obj/item/powerarmor/power/powercell
- name = "Powercell interface"
- desc = "Boring, but reliable."
- icon_state = "powercell_interface"
- var/obj/item/weapon/cell/cell
- slowdown = 0.5
-
-/obj/item/powerarmor/power/powercell/process()
- if (cell && cell.charge > 0 && parent.active)
- cell.use(500)
- spawn(50)
- process()
- return
- else if (parent.active)
- parent.powerdown(1)
- return
-
-/obj/item/powerarmor/power/powercell/checkpower()
- return max(cell.charge, 0)
-
-/obj/item/powerarmor/power/nuclear
- name = "Miniaturized nuclear generator"
- desc = "For all your radioactive needs."
- icon_state = "nuclear"
- slowdown = 1.5
-
-/obj/item/powerarmor/power/nuclear/process()
- if(!crit_fail)
- if(prob(src.reliability)) return 1 //No failure
- if(prob(src.reliability))
- for (var/mob/living/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation.
- if(src.parent in M.contents)
- M << "Your armor feels pleasantly warm for a moment."
- else
- M << "You feel a warm sensation."
- M.apply_effect(-rand(1,40),IRRADIATE,0)
- else
- for (var/mob/living/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES
- if (src.parent in M.contents)
- M << "Your armor's reactor overloads!"
- M << "You feel a wave of heat wash over you."
- M.apply_effect(100,IRRADIATE,0)
- crit_fail = 1 //broken~
- parent.powerdown(1)
- spawn(50)
- process()
-
-/obj/item/powerarmor/power/nuclear/checkpower()
- return !crit_fail
-
-/obj/item/powerarmor/reactive
- name = "Centcom power armor reactive plating"
- desc = "Pretty effective against everything, not perfect though."
- var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
- slowdown = 2
-
-/obj/item/powerarmor/reactive/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Reactive armor systems disengaged."
- if(0)
- usr << "Reactive armor systems engaged."
- var/list/switchover = list()
- for (var/armorvar in parent.armor)
- switchover[armorvar] = togglearmor[armorvar]
- togglearmor[armorvar] = parent.armor[armorvar]
- parent.armor[armorvar] = switchover[armorvar]
- //Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects.
- if(parent.helm)
- parent.helm.armor[armorvar] = parent.armor[armorvar]
- if(parent.gloves)
- parent.gloves.armor[armorvar] = parent.armor[armorvar]
- if(parent.shoes)
- parent.shoes.armor[armorvar] = parent.armor[armorvar]
-
-
-
-
-/obj/item/powerarmor/servos
- name = "Power armor movement servos"
- desc = "Help with moving in the the bulky armor."
- icon_state = "servos"
- var/toggleslowdown = 9
-
-/obj/item/powerarmor/servos/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Movement assist servos disengaged."
- parent.slowdown += toggleslowdown
- if(0)
- usr << "Movement assist servos engaged."
- parent.slowdown -= toggleslowdown
-
-/obj/item/powerarmor/atmoseal
- name = "Power armor atmospheric seals"
- desc = "Keeps the bad stuff out."
- icon_state = "atmosseal"
- slowdown = 1
- var/sealed = 0
-
-/obj/item/powerarmor/atmoseal/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Atmospheric seals disengaged."
- parent.gas_transfer_coefficient = 1
- parent.permeability_coefficient = 1
- if(parent.helmrequired)
- parent.helm.gas_transfer_coefficient = 1
- parent.helm.permeability_coefficient = 1
- parent.helm.cold_protection = initial(parent.helm.cold_protection)
- parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
- parent.helm.heat_protection = initial(parent.helm.heat_protection)
- parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
- if(parent.glovesrequired)
- parent.gloves.gas_transfer_coefficient = 1
- parent.gloves.permeability_coefficient = 1
- parent.gloves.cold_protection = initial(parent.gloves.cold_protection)
- parent.gloves.min_cold_protection_temperature = initial(parent.gloves.min_cold_protection_temperature)
- parent.gloves.heat_protection = initial(parent.gloves.heat_protection)
- parent.gloves.max_heat_protection_temperature = initial(parent.gloves.max_heat_protection_temperature)
- if(parent.shoesrequired)
- parent.shoes.gas_transfer_coefficient = 1
- parent.shoes.permeability_coefficient = 1
- parent.shoes.cold_protection = initial(parent.shoes.cold_protection)
- parent.shoes.min_cold_protection_temperature = initial(parent.shoes.min_cold_protection_temperature)
- parent.shoes.heat_protection = initial(parent.shoes.heat_protection)
- parent.shoes.max_heat_protection_temperature = initial(parent.shoes.max_heat_protection_temperature)
- sealed = 0
-
- if(0)
- usr << "Atmospheric seals engaged."
- parent.gas_transfer_coefficient = 0.01
- parent.permeability_coefficient = 0.02
- if(parent.helmrequired)
- parent.helm.gas_transfer_coefficient = 0.01
- parent.helm.permeability_coefficient = 0.02
- parent.helm.cold_protection = HEAD
- parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
- parent.helm.heat_protection = HEAD
- parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- if(parent.glovesrequired)
- parent.gloves.gas_transfer_coefficient = 0.01
- parent.gloves.permeability_coefficient = 0.02
- parent.gloves.cold_protection = HANDS
- parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
- parent.gloves.heat_protection = HANDS
- parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- if(parent.shoesrequired)
- parent.shoes.gas_transfer_coefficient = 0.01
- parent.shoes.permeability_coefficient = 0.02
- parent.shoes.cold_protection = FEET
- parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
- parent.shoes.heat_protection = FEET
- parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- sealed = 1
-
-/obj/item/powerarmor/atmoseal/optional
- name = "Togglable power armor atmospheric seals"
- desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off."
-
-
-/obj/item/powerarmor/atmoseal/optional/proc/helmtoggle(sudden = 0, manual = 0)
- var/mob/living/carbon/human/user = usr
- var/obj/item/clothing/head/space/powered/helm
- if(user.head && istype(user.head,/obj/item/clothing/head/space/powered))
- helm = user.head
-
- if(!sealed)
- user << "Unable to initialize helmet seal, armor seals not active."
- return
- if(!helm.parent)
- user << "Helmet locked."
- helm.canremove = 0
- parent.helm = helm
- helm.parent = parent
- sleep(20)
- parent.helm.gas_transfer_coefficient = 0.01
- parent.helm.permeability_coefficient = 0.02
- parent.helm.cold_protection = HEAD
- parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
- parent.helm.heat_protection = HEAD
- parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
-
- user << "Helmet atmospheric seals engaged."
- if(manual)
- for (var/armorvar in helm.armor)
- helm.armor[armorvar] = parent.armor[armorvar]
- return
- else
- if(manual)
- user << "Helmet atmospheric seals disengaged."
- parent.helm.gas_transfer_coefficient = 1
- parent.helm.permeability_coefficient = 1
- parent.helm.cold_protection = initial(parent.helm.cold_protection)
- parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
- parent.helm.heat_protection = initial(parent.helm.heat_protection)
- parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
- if(manual)
- for (var/armorvar in helm.armor)
- helm.armor[armorvar] = parent.reactive.togglearmor[armorvar]
- if(!sudden)
- if(manual)
- sleep(20)
- user << "Helmet unlocked."
- helm.canremove = 1
- parent.helm = null
- helm.parent = null
-
-
-
-
-
diff --git a/code/WorkInProgress/animusstation/atm.dm b/code/WorkInProgress/animusstation/atm.dm
deleted file mode 100644
index cc9dca7a9ff..00000000000
--- a/code/WorkInProgress/animusstation/atm.dm
+++ /dev/null
@@ -1,176 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
-
-/*
-
-TODO:
-give money an actual use (QM stuff, vending machines)
-send money to people (might be worth attaching money to custom database thing for this, instead of being in the ID)
-log transactions
-
-*/
-
-/obj/machinery/atm
- name = "\improper Nanotrasen Automatic Teller Machine"
- desc = "For all your monetary needs!"
- icon = 'icons/obj/terminals.dmi'
- icon_state = "atm"
- anchored = 1
- use_power = 1
- idle_power_usage = 10
- var/obj/item/weapon/card/id/card
- var/obj/item/weapon/spacecash/cashes = list()
- var/inserted = 0
- var/accepted = 0
- var/pincode = 0
-
- attackby(var/obj/A, var/mob/user)
- if(istype(A,/obj/item/weapon/spacecash))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += A:worth
- return
- if(istype(A,/obj/item/weapon/coin))
- if(istype(A,/obj/item/weapon/coin/iron))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += 1
- return
- if(istype(A,/obj/item/weapon/coin/silver))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += 10
- return
- if(istype(A,/obj/item/weapon/coin/gold))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += 50
- return
- if(istype(A,/obj/item/weapon/coin/plasma))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += 2
- return
- if(istype(A,/obj/item/weapon/coin/diamond))
- cashes += A
- user.drop_item()
- A.loc = src
- inserted += 300
- return
- user << "You insert your [A.name] in ATM"
- ..()
-
- attack_hand(var/mob/user)
- if(istype(user, /mob/living/silicon))
- user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005."
- return
-
- if(!(stat && NOPOWER) && ishuman(user))
- var/dat
- user.machine = src
- if(!accepted)
- if(scan(user))
- pincode = input(usr,"Enter a pin-code") as num
- if(card.checkaccess(pincode,usr))
- accepted = 1
-// usr << sound('nya.mp3')
- else
- dat = null
- dat += "Nanotrasen Automatic Teller Machine
"
- dat += "For all your monetary needs!
"
- dat += "Welcome, [card.registered_name]. You have [card.money] credits deposited.
"
- dat += "Current inserted item value: [inserted] credits.
"
- dat += "Please, select action
"
- dat += "Withdraw Physical Credits
"
- dat += "Eject Inserted Items
"
- dat += "Convert Inserted Items to Credits
"
- dat += "Lock ATM
"
- user << browse(dat,"window=atm")
- onclose(user,"close")
- proc
- withdraw(var/mob/user)
- if(accepted)
- var/amount = input("How much would you like to withdraw?", "Amount", 0) in list(1,10,20,50,100,200,500,1000, 0)
- if(amount == 0)
- return
- if(card.money >= amount)
- card.money -= amount
- switch(amount)
- if(1)
- new /obj/item/weapon/spacecash(loc)
- if(10)
- new /obj/item/weapon/spacecash/c10(loc)
- if(20)
- new /obj/item/weapon/spacecash/c20(loc)
- if(50)
- new /obj/item/weapon/spacecash/c50(loc)
- if(100)
- new /obj/item/weapon/spacecash/c100(loc)
- if(200)
- new /obj/item/weapon/spacecash/c200(loc)
- if(500)
- new /obj/item/weapon/spacecash/c500(loc)
- if(1000)
- new /obj/item/weapon/spacecash/c1000(loc)
- else
- user << "\red Error: Insufficient funds."
- return
-
- scan(var/mob/user)
- if(istype(user,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = user
- if(H.wear_id)
- if(istype(H.wear_id, /obj/item/weapon/card/id))
- card = H.wear_id
- return 1
- if(istype(H.wear_id,/obj/item/device/pda))
- var/obj/item/device/pda/P = H.wear_id
- if(istype(P.id,/obj/item/weapon/card/id))
- card = P.id
- return 1
- return 0
- return 0
-
- insert()
- if(accepted)
- card.money += inserted
- inserted = 0
-
- Topic(href,href_list)
- if (usr.machine==src && get_dist(src, usr) <= 1 || istype(usr, /mob/living/silicon/ai))
- if(href_list["eca"])
- if(accepted)
- for(var/obj/item/weapon/spacecash/M in cashes)
- M.loc = loc
- inserted = 0
- if(!cashes)
- cashes = null
- if(href_list["with"] && card)
- withdraw(usr)
- if(href_list["ins"] && card)
- if(accepted)
- card.money += inserted
- inserted = 0
- if(cashes)
- cashes = null
- if(href_list["lock"])
- card = null
- accepted = 0
- usr.machine = null
- usr << browse(null,"window=atm")
- src.updateUsrDialog()
- else
- usr.machine = null
- usr << browse(null,"window=atm")
-
-
-/obj/item/weapon/card/id/proc/checkaccess(p,var/mob/user)
- if(p == pin)
- user << "\green Access granted"
- return 1
- user << "\red Access denied"
- return 0
\ No newline at end of file
diff --git a/code/WorkInProgress/carn/Explosion2.dm b/code/WorkInProgress/carn/Explosion2.dm
deleted file mode 100644
index 06b85690024..00000000000
--- a/code/WorkInProgress/carn/Explosion2.dm
+++ /dev/null
@@ -1,117 +0,0 @@
-//TODO: Flash range does nothing currently
-//NOTE: This has not yet been updated with the lighting deferal stuff. ~Carn
-//Needs some work anyway.
-
-proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1)
- spawn(0)
- var/start = world.timeofday
- epicenter = get_turf(epicenter)
- if(!epicenter) return
-
- if(adminlog)
- message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z] - JMP)")
- log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ")
-
- playsound(epicenter, 'sound/effects/explosionfar.ogg', 100, 1, round(devastation_range*2,1) )
- playsound(epicenter, "explosion", 100, 1, round(devastation_range,1) )
-
- tension_master.explosion()
-
- if(defer_powernet_rebuild != 2)
- defer_powernet_rebuild = 1
-
- if(heavy_impact_range > 1)
- var/datum/effect/system/explosion/E = new/datum/effect/system/explosion()
- E.set_up(epicenter)
- E.start()
-
- var/x = epicenter.x
- var/y = epicenter.y
- var/z = epicenter.z
-
- var/counter = 0
-
- if(devastation_range > 0)
- counter += explosion_turf(x,y,z,1)
- else
- devastation_range = 0
- if(heavy_impact_range > 0)
- counter += explosion_turf(x,y,z,2)
- else
- heavy_impact_range = 0
- if(light_impact_range > 0)
- counter += explosion_turf(x,y,z,3)
- else
- return
-
- //Diamond 'splosions (looks more round than square version)
- for(var/i=0, i[copytext("\ref[powernets[i]]",8,12)]"
-
-
-client/verb/powernet_overlays()
- for(var/obj/structure/cable/C in cable_list)
- C.maptext = "[copytext("\ref[C.powernet]",8,12)]"
- for(var/obj/machinery/power/M in machines)
- M.maptext = "[copytext("\ref[M.powernet]",8,12)]"
-*/
diff --git a/code/WorkInProgress/carn/master_controller_old.dm b/code/WorkInProgress/carn/master_controller_old.dm
deleted file mode 100644
index 80a7659035d..00000000000
--- a/code/WorkInProgress/carn/master_controller_old.dm
+++ /dev/null
@@ -1,210 +0,0 @@
-var/global/datum/controller/game_controller/master_controller //Set in world.New()
-var/global/datum/failsafe/Failsafe
-var/global/controller_iteration = 0
-
-
-var/global/last_tick_timeofday = world.timeofday
-var/global/last_tick_duration = 0
-
-datum/controller/game_controller
- var/processing = 0
-
- var/global/air_master_ready = 0
- var/global/sun_ready = 0
- var/global/mobs_ready = 0
- var/global/diseases_ready = 0
- var/global/machines_ready = 0
- var/global/objects_ready = 0
- var/global/networks_ready = 0
- var/global/powernets_ready = 0
- var/global/ticker_ready = 0
-
- //Used for MC 'proc break' debugging
- var/global/obj/last_obj_processed
- var/global/datum/disease/last_disease_processed
- var/global/obj/machinery/last_machine_processed
- var/global/mob/last_mob_processed
-
-
- proc/setup()
- if(master_controller && (master_controller != src))
- del(src)
- return
- //There can be only one master.
-
- if(!air_master)
- air_master = new /datum/controller/air_system()
- air_master.setup()
-
- if(!job_master)
- job_master = new /datum/controller/occupations()
- if(job_master.SetupOccupations())
- world << "\red \b Job setup complete"
- job_master.LoadJobs("config/jobs.txt")
-
- world.tick_lag = config.Ticklag
-
- createRandomZlevel()
-
- setup_objects()
-
- setupgenetics()
-
-
- for(var/i = 0, i < max_secret_rooms, i++)
- make_mining_asteroid_secret()
-
- syndicate_code_phrase = generate_code_phrase()//Sets up code phrase for traitors, for the round.
- syndicate_code_response = generate_code_phrase()
-
- emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle()
-
- if(!ticker)
- ticker = new /datum/controller/gameticker()
-
- setupfactions()
-
- spawn
- ticker.pregame()
-
- proc/setup_objects()
- world << "\red \b Initializing objects"
- sleep(-1)
-
- for(var/obj/object in world)
- object.initialize()
-
- world << "\red \b Initializing pipe networks"
- sleep(-1)
-
- for(var/obj/machinery/atmospherics/machine in world)
- machine.build_network()
-
- world << "\red \b Initializing atmos machinery."
- sleep(-1)
- for(var/obj/machinery/atmospherics/unary/vent_pump/T in world)
- T.broadcast_status()
- for(var/obj/machinery/atmospherics/unary/vent_scrubber/T in world)
- T.broadcast_status()
-
- world << "\red \b Initializations complete."
-
-
- proc/process()
- processing = 1
- spawn(0)
- set background = 1
- while(1)
- var/currenttime = world.timeofday
- var/diff = (currenttime - last_tick_timeofday) / 10
- last_tick_timeofday = currenttime
- last_tick_duration = diff
-
- if(processing)
-
- controller_iteration++
-
- var/start_time = world.timeofday
-
- air_master_ready = 0
- sun_ready = 0
- mobs_ready = 0
- diseases_ready = 0
- machines_ready = 0
- objects_ready = 0
- networks_ready = 0
- powernets_ready = 0
- ticker_ready = 0
-
- spawn(0)
- air_master.process()
- air_master_ready = 1
-
- sleep(1)
-
- spawn(0)
- sun.calc_position()
- sun_ready = 1
-
- sleep(-1)
-
- spawn(0)
- for(var/mob/M in world)
- last_mob_processed = M
- M.Life()
- mobs_ready = 1
-
- sleep(-1)
-
- spawn(0)
- for(var/datum/disease/D in active_diseases)
- last_disease_processed = D
- D.process()
- diseases_ready = 1
-
- spawn(0)
- for(var/obj/machinery/machine in machines)
- if(machine)
- last_machine_processed = machine
- machine.process()
- if(machine && machine.use_power)
- machine.auto_use_power()
-
- machines_ready = 1
-
- sleep(1)
-
- spawn(-1)
- for(var/obj/object in processing_objects)
- last_obj_processed = object
- object.process()
- objects_ready = 1
-
- sleep(-1)
-
- spawn(-1)
- for(var/datum/pipe_network/network in pipe_networks)
- network.process()
- networks_ready = 1
-
- spawn(-1)
- for(var/datum/powernet/P in powernets)
- P.reset()
- powernets_ready = 1
-
- sleep(-1)
-
- spawn(-1)
- ticker.process()
- ticker_ready = 1
-
- var/IL_check = 0 //Infinite loop check (To report when the master controller breaks.)
- while(!air_master_ready || !sun_ready || !mobs_ready || !diseases_ready || !machines_ready || !objects_ready || !networks_ready || !powernets_ready || !ticker_ready)
- IL_check++
- if(IL_check > 600)
- var/MC_report = "air_master_ready = [air_master_ready]; sun_ready = [sun_ready]; mobs_ready = [mobs_ready]; diseases_ready = [diseases_ready]; machines_ready = [machines_ready]; objects_ready = [objects_ready]; networks_ready = [networks_ready]; powernets_ready = [powernets_ready]; ticker_ready = [ticker_ready];"
- message_admins("PROC BREAKAGE WARNING: The game's master contorller appears to be stuck in one of it's cycles. It has looped through it's delaying loop [IL_check] times.")
- message_admins("The master controller reports: [MC_report]")
- if(!diseases_ready)
- if(last_disease_processed)
- message_admins("DISEASE PROCESSING stuck on [last_disease_processed]", 0, 1)
- else
- message_admins("DISEASE PROCESSING stuck on unknown")
- if(!machines_ready)
- if(last_machine_processed)
- message_admins("MACHINE PROCESSING stuck on [last_machine_processed]", 0, 1)
- else
- message_admins("MACHINE PROCESSING stuck on unknown")
- if(!objects_ready)
- if(last_obj_processed)
- message_admins("OBJ PROCESSING stuck on [last_obj_processed]", 0, 1)
- else
- message_admins("OBJ PROCESSING stuck on unknown")
- log_admin("PROC BREAKAGE WARNING: infinite_loop_check = [IL_check]; [MC_report];")
- message_admins("Master controller breaking out of delaying loop. Restarting the round is advised if problem persists. DO NOT manually restart the master controller.")
- break;
- sleep(1)
-
- sleep(world.timeofday+12-start_time)
- else
- sleep(10)
\ No newline at end of file
diff --git a/code/WorkInProgress/carn/master_controller_semi-seq.dm b/code/WorkInProgress/carn/master_controller_semi-seq.dm
deleted file mode 100644
index 96e7eacda6e..00000000000
--- a/code/WorkInProgress/carn/master_controller_semi-seq.dm
+++ /dev/null
@@ -1,258 +0,0 @@
-//Nothing spectacular, just a slightly more configurable MC.
-
-var/global/datum/controller/game_controller/master_controller //Set in world.New()
-var/global/datum/failsafe/Failsafe
-var/global/controller_iteration = 0
-
-
-var/global/last_tick_timeofday = world.timeofday
-var/global/last_tick_duration = 0
-
-var/global/obj/machinery/last_obj_processed //Used for MC 'proc break' debugging
-var/global/datum/disease/last_disease_processed //Used for MC 'proc break' debugging
-var/global/obj/machinery/last_machine_processed //Used for MC 'proc break' debugging
-
-datum/controller/game_controller
- var/processing = 0
- var/breather_ticks = 1 //a somewhat crude attempt to iron over the 'bumps' caused by high-cpu use by letting the MC have a breather for this many ticks after every step
- var/minimum_ticks = 10 //The minimum length of time between MC ticks
-
- var/global/air_master_ready = 0
- var/global/tension_master_ready = 0
- var/global/sun_ready = 0
- var/global/mobs_ready = 0
- var/global/diseases_ready = 0
- var/global/machines_ready = 0
- var/global/objects_ready = 0
- var/global/networks_ready = 0
- var/global/powernets_ready = 0
- var/global/ticker_ready = 0
-
-datum/controller/game_controller/New()
- //There can be only one master_controller. Out with the old and in with the new.
- if(master_controller)
- if(master_controller != src)
- del(master_controller)
- master_controller = src
-
- if(!air_master)
- air_master = new /datum/controller/air_system()
- air_master.setup()
-
- if(!job_master)
- job_master = new /datum/controller/occupations()
- if(job_master.SetupOccupations())
- world << "\red \b Job setup complete"
- job_master.LoadJobs("config/jobs.txt")
-
- if(!tension_master) tension_master = new /datum/tension()
- if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase()
- if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
- if(!ticker) ticker = new /datum/controller/gameticker()
- if(!emergency_shuttle) emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle()
-
-
-datum/controller/game_controller/proc/setup()
- world.tick_lag = config.Ticklag
-
- createRandomZlevel()
- setup_objects()
- setupgenetics()
- setupfactions()
-
- for(var/i = 0, i < max_secret_rooms, i++)
- make_mining_asteroid_secret()
-
- spawn(0)
- if(ticker)
- ticker.pregame()
-
-datum/controller/game_controller/proc/setup_objects()
- world << "\red \b Initializing objects"
- sleep(-1)
- for(var/obj/object in world)
- object.initialize()
-
- world << "\red \b Initializing pipe networks"
- sleep(-1)
- for(var/obj/machinery/atmospherics/machine in world)
- machine.build_network()
-
- world << "\red \b Initializing atmos machinery."
- sleep(-1)
- for(var/obj/machinery/atmospherics/unary/vent_pump/T in world)
- T.broadcast_status()
- for(var/obj/machinery/atmospherics/unary/vent_scrubber/T in world)
- T.broadcast_status()
-
- world << "\red \b Initializations complete."
- sleep(-1)
-
-
-datum/controller/game_controller/proc/process()
- set background = 1
- processing = 1
- while(1) //far more efficient than recursively calling ourself
- if(!Failsafe) new /datum/failsafe()
-
- var/currenttime = world.timeofday
- last_tick_duration = (currenttime - last_tick_timeofday) / 10
- last_tick_timeofday = currenttime
-
- if(processing)
- var/start_time = world.timeofday
- controller_iteration++
-
- air_master_ready = 0
- tension_master_ready = 0
- sun_ready = 0
- mobs_ready = 0
- diseases_ready = 0
- machines_ready = 0
- objects_ready = 0
- networks_ready = 0
- powernets_ready = 0
- ticker_ready = 0
-
- spawn(0)
- air_master.process()
- air_master_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- tension_master.process()
- tension_master_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- sun.calc_position()
- sun_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/mob/living/M in world) //only living mobs have life processes
- M.Life()
- mobs_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/datum/disease/D in active_diseases)
- last_disease_processed = D
- D.process()
- diseases_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/obj/machinery/machine in machines)
- if(machine)
- last_machine_processed = machine
- machine.process()
- if(machine && machine.use_power)
- machine.auto_use_power()
- machines_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/obj/object in processing_objects)
- last_obj_processed = object
- object.process()
- objects_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/datum/pipe_network/network in pipe_networks)
- network.process()
- networks_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- for(var/datum/powernet/P in powernets)
- P.reset()
- powernets_ready = 1
- sleep(breather_ticks)
-
- spawn(0)
- ticker.process()
- ticker_ready = 1
-
- sleep( minimum_ticks - max(world.timeofday-start_time,0) ) //to prevent long delays happening at midnight
-
- var/IL_check = 0 //Infinite loop check (To report when the master controller breaks.)
- while(!air_master_ready || !tension_master_ready || !sun_ready || !mobs_ready || !diseases_ready || !machines_ready || !objects_ready || !networks_ready || !powernets_ready || !ticker_ready)
- IL_check++
- if(IL_check > 200)
- var/MC_report = "air_master_ready = [air_master_ready]; tension_master_ready = [tension_master_ready]; sun_ready = [sun_ready]; mobs_ready = [mobs_ready]; diseases_ready = [diseases_ready]; machines_ready = [machines_ready]; objects_ready = [objects_ready]; networks_ready = [networks_ready]; powernets_ready = [powernets_ready]; ticker_ready = [ticker_ready];"
- var/MC_admin_report = "PROC BREAKAGE WARNING: The game's master contorller appears to be stuck in one of it's cycles. It has looped through it's delaying loop [IL_check] times.
The master controller reports: [MC_report]
"
- if(!diseases_ready)
- if(last_disease_processed)
- MC_admin_report += "DISEASE PROCESSING stuck on [last_disease_processed]
"
- else
- MC_admin_report += "DISEASE PROCESSING stuck on unknown
"
- if(!machines_ready)
- if(last_machine_processed)
- MC_admin_report += "MACHINE PROCESSING stuck on [last_machine_processed]
"
- else
- MC_admin_report += "MACHINE PROCESSING stuck on unknown
"
- if(!objects_ready)
- if(last_obj_processed)
- MC_admin_report += "OBJ PROCESSING stuck on [last_obj_processed]
"
- else
- MC_admin_report += "OBJ PROCESSING stuck on unknown
"
- MC_admin_report += "Master controller breaking out of delaying loop. Restarting the round is advised if problem persists. DO NOT manually restart the master controller.
"
- message_admins(MC_admin_report)
- log_admin("PROC BREAKAGE WARNING: infinite_loop_check = [IL_check]; [MC_report];")
- break
- sleep(3)
- else
- sleep(10)
-
-
-
-/datum/failsafe // This thing pretty much just keeps poking the master controller
- var/spinning = 1
- var/current_iteration = 0
- var/ticks_per_spin = 200 //poke the MC every 20 seconds
- var/defcon = 0 //alert level. For every poke that fails this is raised by 1. When it reaches 5 the MC is replaced with a new one. (effectively killing any master_controller.process() and starting a new one)
-
-/datum/failsafe/New()
- //There can be only one failsafe. Out with the old in with the new (that way we can restart the Failsafe by spawning a new one)
- if(Failsafe && (Failsafe != src))
- del(Failsafe)
- Failsafe = src
-
- current_iteration = controller_iteration
- spawn(0)
- Failsafe.spin()
-
-
-/datum/failsafe/proc/spin()
- set background = 1
- while(1) //more efficient than recursivly calling ourself over and over. background = 1 ensures we do not trigger an infinite loop
- if(master_controller)
- if(spinning && master_controller.processing) //only poke if these overrides aren't in effect
- if(current_iteration == controller_iteration) //master_controller hasn't finished processing in the defined interval
- switch(defcon)
- if(0 to 3)
- defcon++
- if(4)
- defcon = 5
- for(var/client/C)
- if(C.holder)
- C << "Warning. The Master Controller has not fired in the last [4*ticks_per_spin] ticks. Automatic restart in [ticks_per_spin] ticks."
- if(5)
- for(var/client/C)
- if(C.holder)
- C << "Warning. The Master Controller has still not fired within the last [5*ticks_per_spin] ticks. Killing and restarting..."
- spawn(0)
- new /datum/controller/game_controller() //replace the old master_controller (hence killing the old one's process)
- master_controller.process() //Start it rolling again
- defcon = 0
- else
- defcon = 0
- current_iteration = controller_iteration
- else
- defcon = 0
- else
- new /datum/controller/game_controller() //replace the missing master_controller! This should never happen.
- sleep(ticks_per_spin)
-
diff --git a/code/WorkInProgress/kilakk/responseteam.dm b/code/WorkInProgress/kilakk/responseteam.dm
deleted file mode 100644
index dbaf2242cb7..00000000000
--- a/code/WorkInProgress/kilakk/responseteam.dm
+++ /dev/null
@@ -1,256 +0,0 @@
-// emergency response teams
-// work in progress
-
-var/const/members_possible = 5
-var/const/members_required = 1 // We need at least *one* person ;_;
-var/global/admin_emergency_team = 0 // Used for admin-spawned response teams
-// 'sent_response_team' for automagic response teams
-
-/client/proc/response_team()
- set name = "Dispatch Emergency Response Team"
- set category = "Special Verbs"
- set desc = "Send an emergency response team to the station"
-
- if(!holder)
- usr << "\red Only administrators may use this command."
- return
- if(!ticker)
- usr << "\red The game hasn't started yet!"
- return
- if(ticker.current_state == GAME_STATE_PREGAME)
- usr << "\red The round hasn't started yet!"
- return
- if(admin_emergency_team || send_emergency_team)
- usr << "\red Central Command has already dispatched an emergency response team!"
- return
- if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes")
- return
- if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red
- switch(alert("The station has not entered code red recently. Do you still want to dispatch a response team?",,"Yes","No"))
- if("No")
- return
-
- var/situation = null
- while(!situation)
- situation = copytext(sanitize(input(src, "Please specify the mission the emergency response team will undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN)
- if(!situation)
- if(alert("You haven't specified a mission. Exit the setup process?",,"No","Yes")=="Yes")
- return
-
- if(admin_emergency_team || send_emergency_team)
- usr << "\red Looks like somebody beat you to it!"
- return
-
- admin_emergency_team = 1
- message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1)
- log_admin("[key_name(usr)] used Dispatch Response Team.")
-
- var/member_number = members_possible
- var/leader_selected = 0
-
- // Shamelessly stolen nuke code
- var/nuke_code
- var/temp_code
- for(var/obj/machinery/nuclearbomb/N in machines)
- temp_code = text2num(N.r_code)
- if(temp_code)
- nuke_code = N.r_code
- break
-
-/* var/list/candidates = list() // ghosts who can be picked
- var/list/members = list() // ghosts who have been picked
- for(var/mob/dead/observer/G in player_list)
- if(!G.client.holder && !G.client.is_afk())
- if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
- candidates += G.key
- for(var/i=members_possible,(i>0&&candidates.len), i--)
- var/candidate = input("Choose characters to spawn as response team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Active Players") as null|anything in candidates */
-
- // I tried doing this differently. Ghosts get a pop-up box similar to pAIs and one-click-antag
- // Biggest diff here is in how the candidates list is updated
- alert(usr, "Active ghosts will be given a chance to choose whether or not they want to be considered for the emergency reponse team. This will take about 30 seconds.") // There's probably a better way to do this, with a fancy count-down timer or something
-
- var/list/candidates = list()
- var/list/members = list()
- var/time_passed = world.time
-
- for(var/mob/dead/observer/G in player_list)
- if(!jobban_isbanned(G, "Syndicate") && !jobban_isbanned(G, "Emergency Response Team") && !jobban_isbanned(G, "Security Officer"))
- spawn(0)
- switch(alert(G, "Do you want to be considered for the Emergency Response Team? Please answer in 30 seconds!",,"Yes","No"))
- if("Yes")
- if((world.time-time_passed)>300)
- return
- candidates += G.key
- if("No")
- return
- else
- return
-
- sleep(300)
-
- if(candidates.len < members_required)
- message_admins("Not enough people signed up for [key_name_admin(usr)]'s response team! Aborting.")
- log_admin("Response Team aborted: Not Enough Signups.")
- admin_emergency_team = 0
- return
-
- for(var/i=members_possible,(i>0&&candidates.len), i--) // The rest of the choosing process is just an input with a list of candidates on it
- var/chosen = input("Time's up! Choose characters to spawn as reponse team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Considered Players") as null|anything in candidates
- candidates -= chosen
- members += chosen
-
- command_alert("Sensors indicate that [station_name()] has entered Code Red and is in need of assistance. We will prepare and dispatch an emergency response team to deal with the situation.", "NMV Icarus Command")
-
- for(var/obj/effect/landmark/L in landmarks_list)
- if(L.name == "Response Team")
- leader_selected = member_number == 1?1:0 // The last person selected will be the leader
-
- var/mob/living/carbon/human/new_member = spawn_response_team(L, leader_selected)
-
- new_member.age = !leader_selected ? rand(23,35) : rand(35,45)
-
- if(members.len)
- new_member.key = pick(members)
- members -= new_member.key
-
- if(!new_member.key) // It works ok? sort of
- del(new_member)
- break
-
- spawn(0)
-
- switch(alert(new_member, "You are an Emergency Response Team member! Are you a boy or a girl?",,"Male","Female"))
- if("Male")
- new_member.gender = MALE
- if("Female")
- new_member.gender = FEMALE
-
- var/new_name = input(new_member, "...Erm, what was your name again?", "Choose your name") as text
-
- if(!new_name)
- new_member.real_name = "Agent [pick("Red","Yellow","Orange","Silver","Gold", "Pink", "Purple", "Rainbow")]" // Choose a "random" agent name
- new_member.name = usr.real_name
- new_member.mind.name = usr.real_name
-
- else
- new_member.real_name = new_name
- new_member.name = new_name
- new_member.mind.name = new_name
-
- // -- CHANGE APPEARANCE --
- var/new_tone = input(new_member, "Please select your new skin tone: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as num
-
- if(new_tone)
- new_member.s_tone = max(min(round(text2num(new_tone)), 220), 1)
- new_member.s_tone = -new_member.s_tone + 35
-
- var/new_hair = input(new_member, "Please select your new hair color.","Character Generation") as color
-
- if(new_hair)
- new_member.r_hair = hex2num(copytext(new_hair, 2, 4))
- new_member.g_hair = hex2num(copytext(new_hair, 4, 6))
- new_member.b_hair = hex2num(copytext(new_hair, 6, 8))
-
- var/new_facial = input(new_member, "Please select your new facial hair color.","Character Generation") as color
-
- if(new_facial)
- new_member.r_facial = hex2num(copytext(new_facial, 2, 4))
- new_member.g_facial = hex2num(copytext(new_facial, 4, 6))
- new_member.b_facial = hex2num(copytext(new_facial, 6, 8))
-
- var/new_eyes = input(new_member, "Please select eye color.", "Character Generation") as color
-
- if(new_eyes)
- new_member.r_eyes = hex2num(copytext(new_eyes, 2, 4))
- new_member.g_eyes = hex2num(copytext(new_eyes, 4, 6))
- new_member.b_eyes = hex2num(copytext(new_eyes, 6, 8))
-
- var/new_hstyle = input(new_member, "Please select your new hair style!", "Grooming") as null|anything in hair_styles_list
-
- if(new_hstyle)
- new_member.h_style = new_hstyle
-
- var/new_fstyle = input(new_member, "Please select your new facial hair style!", "Grooming") as null|anything in facial_hair_styles_list
-
- if(new_fstyle)
- new_member.f_style = new_fstyle
-
- // -- END --
-
- new_member.dna.ready_dna(new_member)
- new_member.update_body(1)
- new_member.update_hair(1)
-
- new_member.mind_initialize()
-
- new_member.mind.assigned_role = "Emergency Response Team"
- new_member.mind.special_role = "Emergency Response Team"
- ticker.mode.traitors |= new_member.mind // ERTs will show up at the end of the round on the "traitor" list
-
- // Join message
- new_member << "\blue You are the Emergency Response Team[!leader_selected?"!":" Leader!"] \nAs a response team [!leader_selected?"member":"leader"] you answer directly to [!leader_selected?"your team leader.":"Central Command."] \nYou have been deployed by Nanotrasen Central Command in Tau Ceti to resolve a Code Red alert aboard [station_name()], and have been provided with the following instructions and information regarding your mission: \red [situation]"
- new_member.mind.store_memory("Mission Parameters: \red [situation].")
-
- // Leader join message
- if(leader_selected)
- new_member << "\red The Nuclear Authentication Code is: [nuke_code]. You are instructed not to detonate the nuclear device aboard [station_name()] unless absolutely necessary."
- new_member.mind.store_memory("Nuclear Authentication Code: \red [nuke_code]")
-
- new_member.equip_response_team(leader_selected) // Start equipping them
-
- member_number--
- return 1
-
-// Mob creation
-/client/proc/spawn_response_team(obj/spawn_location, leader_selected = 0)
- var/mob/living/carbon/human/new_member = new(spawn_location.loc)
-
- return new_member
-
-// Equip mob
-/mob/living/carbon/human/proc/equip_response_team(leader_selected = 0)
-
- // Headset
- equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(src), slot_l_ear)
-
- // Uniform
- equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(src), slot_w_uniform)
- equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(src), slot_shoes)
- equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves)
- equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(src), slot_belt)
-
- // Glasses
- equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses)
-
- // Backpack
- equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
-
- // Put stuff into their backpacks
- equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack)
- // equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack) // Regular medkit
-
- // Loyalty implants
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src)
- L.imp_in = src
- L.implanted = 1
-
- // ID cards
- var/obj/item/weapon/card/id/E = new(src)
- E.name = "[real_name]'s ID Card (Emergency Response Team)"
- E.icon_state = "centcom"
- E.access = get_all_accesses() // ERTs can go everywhere on the station
- if(leader_selected)
- E.name = "[real_name]'s ID Card (Emergency Response Team Leader)"
- E.access += get_all_centcom_access()
- E.assignment = "Emergency Response Team Leader"
- else
- E.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
- E.assignment = "Emergency Response Team"
- E.registered_name = real_name
- equip_to_slot_or_del(E, slot_wear_id)
-
- update_icons()
-
- return 1
-
diff --git a/code/WorkInProgress/meteors.dm b/code/WorkInProgress/meteors.dm
deleted file mode 100644
index ce1bafdb447..00000000000
--- a/code/WorkInProgress/meteors.dm
+++ /dev/null
@@ -1,153 +0,0 @@
-#define METEOR_TEMPERATURE
-
-/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds
-//set to at least 100 unless you want evarr ruining every round
-
-/var/const/meteors_in_wave = 20
-/var/const/meteors_in_small_wave = 10
-
-/proc/meteor_wave(var/number = meteors_in_wave)
- if(!ticker || wavesecret)
- return
-
- var/startx
- var/starty
- var/endx
- var/endy
- var/turf/pickedstart
- var/turf/pickedgoal
- switch(pick(1,2,3,4))
- if(1) //NORTH
- starty = world.maxy-3
- startx = rand(1, world.maxx-1)
- endy = 1
- endx = rand(1, world.maxx-1)
- if(2) //EAST
- starty = rand(1,world.maxy-1)
- startx = world.maxx-3
- endy = rand(1, world.maxy-1)
- endx = 1
- if(3) //SOUTH
- starty = 3
- startx = rand(1, world.maxx-1)
- endy = world.maxy-1
- endx = rand(1, world.maxx-1)
- if(4) //WEST
- starty = rand(1, world.maxy-1)
- startx = 3
- endy = rand(1,world.maxy-1)
- endx = world.maxx-1
- pickedstart = locate(startx, starty, 1)
- pickedgoal = locate(endx, endy, 1)
- wavesecret = 1
- for(var/i = 0 to number)
- spawn(rand(10,100))
- spawn_meteor(pickedstart, pickedgoal)
- spawn(meteor_wave_delay)
- wavesecret = 0
-
-/proc/spawn_meteors(var/turf/pickedstart, var/turf/pickedgoal, var/number = meteors_in_small_wave)
- for(var/i = 0; i < number; i++)
- spawn(0)
- spawn_meteor(pickedstart, pickedgoal)
-
-/proc/spawn_meteor(var/turf/pickedstart, var/turf/pickedgoal)
-
- var/route = rand(1,5)
- var/turf/tempgoal = pickedgoal
- for(var/i, i < route, i++)
- tempgoal = get_step(tempgoal,rand(1,8))
-
- var/obj/effect/meteor/M
- switch(rand(1, 100))
- if(1 to 15)
- M = new /obj/effect/meteor/big(pickedstart)
- if(16 to 75)
- M = new /obj/effect/meteor( pickedstart )
- if(76 to 100)
- M = new /obj/effect/meteor/small( pickedstart )
-
- M.dest = tempgoal
-
- do
- sleep(1)
- walk_towards(M, M.dest, 1)
- while (!istype(M.loc, /turf/space) || pickedstart.loc.name != "Space" ) //FUUUCK, should never happen.
-
- return
-
-/obj/effect/meteor
- name = "meteor"
- icon = 'icons/obj/meteor.dmi'
- icon_state = "flaming"
- density = 1
- anchored = 1.0
- var/hits = 1
- var/dest
- pass_flags = PASSTABLE
-
-/obj/effect/meteor/small
- name = "small meteor"
- icon_state = "smallf"
- pass_flags = PASSTABLE | PASSGRILLE
-
-/obj/effect/meteor/Move()
- var/turf/T = src.loc
- if (istype(T, /turf))
- T.hotspot_expose(METEOR_TEMPERATURE, 1000)
- ..()
- return
-
-/obj/effect/meteor/Bump(atom/A)
- spawn(0)
- for(var/mob/M in range(10, src))
- if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
- shake_camera(M, 3, 1)
- if (A)
- A.meteorhit(src)
- playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1)
- if (--src.hits <= 0)
- if(prob(15))// && !istype(A, /obj/structure/grille))
- explosion(get_turf(src), 4, 5, 6, 7, 0)
- playsound(get_turf(src), "explosion", 50, 1)
- del(src)
- return
-
-
-/obj/effect/meteor/ex_act(severity)
- spawn(0)
- del(src)
- return
-
-/obj/effect/meteor/big
- name = "big meteor"
- hits = 5
-
- ex_act(severity)
- return
-
- Bump(atom/A)
- spawn(0)
- for(var/mob/M in range(10, src))
- if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
- shake_camera(M, 3, 1)
- if (A)
- if(isobj(A))
- del(A)
- else
- A.meteorhit(src)
- src.hits--
- return
- playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1)
- if (--src.hits <= 0)
- if(prob(15) && !istype(A, /obj/structure/grille))
- explosion(get_turf(src), 1, 2, 3, 4, 0)
- playsound(get_turf(src), "explosion", 50, 1)
- del(src)
- return
-
-/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(istype(W, /obj/item/weapon/pickaxe))
- del(src)
- return
- ..()
\ No newline at end of file
diff --git a/code/WorkInProgress/organs/implants.dm b/code/WorkInProgress/organs/implants.dm
deleted file mode 100644
index c8f83bc6a3a..00000000000
--- a/code/WorkInProgress/organs/implants.dm
+++ /dev/null
@@ -1,13 +0,0 @@
-/*------
-SPELL IMPLANTS
- + Most diverse effects
- - Limited charges, failure rate
-
-CYBERNETIC IMPLANTS
- + Easiest to make
- - Require power
-
-GRAFTS (includes basic human bodyparts)
- + Permanent effects
- - Horrible side effects
-*/
\ No newline at end of file
diff --git a/code/WorkInProgress/organs/organs.dm b/code/WorkInProgress/organs/organs.dm
deleted file mode 100644
index 22f51bffc6e..00000000000
--- a/code/WorkInProgress/organs/organs.dm
+++ /dev/null
@@ -1,700 +0,0 @@
-<<<<<<< HEAD
-/obj/effect/organstructure //used obj for the "contents" var
- name = "organs"
-
- var/species = "mob" //for speaking in unknown languages purposes
-
- var/obj/effect/organ/limb/arms/arms = null
- var/obj/effect/organ/limb/legs/legs = null
- var/obj/effect/organ/torso/torso = null
- var/obj/effect/organ/head/head = null
-
-
- proc/GetSpeciesName()
- var/list/speciesPresent = list()
-
- for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance
- if(speciesPresent[organ.species])
- speciesPresent[organ.species]++
- else
- speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++
-
- var/list/dominantSpecies = list()
-
- for(var/speciesName in speciesPresent)
- if(!dominantSpecies.len)
- dominantSpecies += speciesName
- else
- if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName])
- dominantSpecies += speciesName
- else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName])
- dominantSpecies = list(speciesName)
-
- if(!dominantSpecies.len)
- species = "mob"
- else
- species = pick(dominantSpecies)
-
- return species
-
- proc/RecalculateStructure()
- var/list/organs = GetAllContents()
-
- arms = locate(/obj/effect/organ/limb/arms) in organs
- legs = locate(/obj/effect/organ/limb/legs) in organs
- torso = locate(/obj/effect/organ/torso) in organs
- head = locate(/obj/effect/organ/head) in organs
-
- GetSpeciesName()
-
- return
-
- proc/ProcessOrgans()
- set background = 1
-
- var/list/organs = GetAllContents()
- for(var/obj/effect/organ/organ in organs)
- organ.ProcessOrgan()
-
- return
-
- New()
- ..()
- RecalculateStructure()
-
-/obj/effect/organstructure/human
- name = "human organs"
-
- New()
- new /obj/effect/organ/torso/human(src)
- ..()
-
-/obj/effect/organstructure/alien
- name = "alien organs"
-
- New()
- new /obj/effect/organ/torso/alien(src)
- ..()
-
-/obj/effect/organ
- name = "organ"
-
- //All types
- var/organType = 0 //CYBER and SPELL go here
- var/species = "mob"
- var/obj/effect/organstructure/rootOrganStructure = null
-
- New(location)
- ..()
-
- rootOrganStructure = FindRootStructure()
-
- proc/FindRootStructure()
- if(istype(loc,/obj/effect/organ))
- var/obj/effect/organ/parent = loc
- return parent.FindRootStructure()
- else if(istype(loc,/obj/effect/organstructure))
- return loc
- return null
-
- proc/ProcessOrgan()
- return
-
-/obj/effect/organ/torso
- name = "torso"
- var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later
-
-/obj/effect/organ/torso/human
- name = "human torso"
- species = "human"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/human(src)
- new /obj/effect/organ/limb/legs/human(src)
- new /obj/effect/organ/head/human(src)
-/obj/effect/organ/torso/alien
- name = "alien torso"
- species = "alien"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/alien(src)
- new /obj/effect/organ/limb/legs/alien(src)
- new /obj/effect/organ/head/alien(src)
-
-
-/obj/effect/organ/limb
- name = "limb"
-
-/obj/effect/organ/limb/arms
- name = "arms"
-
- var/minDamage = 5 //punching damage
- var/maxDamage = 5
-
-/obj/effect/organ/limb/arms/alien
- name = "alien arms"
- species = "alien"
- minDamage = 5
- maxDamage = 15
-
-
-/obj/effect/organ/limb/arms/human
- name = "human arms"
- species = "human"
- minDamage = 1
- maxDamage = 9
-
-/obj/effect/organ/limb/legs
- name = "legs"
-
-/obj/effect/organ/limb/legs/human
- name = "human legs"
- species = "human"
-
-/obj/effect/organ/limb/legs/alien
- name = "alien legs"
- species = "alien"
-
-
-/obj/effect/organ/head
- name = "head"
-
-/obj/effect/organ/head/human
- name = "human head"
- species = "human"
-
-/obj/effect/organ/head/alien
- name = "alien head"
- species = "alien"
-
-/obj/effect/organ/limb/arms/alien
- name = "alien arms"
- species = "alien"
- minDamage = 5
- maxDamage = 15
-
-/obj/effect/organ/limb/legs/alien
- name = "alien legs"
- species = "alien"
-
-/obj/effect/organ/head/alien
- name = "alien head"
- species = "alien"
-
-// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++
-/obj/effect/organstructure/stub
- name = "stub organs"
-
- New()
- new /obj/effect/organ/torso/stub(src)
- ..()
-
-/obj/effect/organ/torso/stub
- name = "stub torso"
- species = "stub"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/stub(src)
- new /obj/effect/organ/limb/legs/stub(src)
- new /obj/effect/organ/head/stub(src)
-
-/obj/effect/organ/limb/arms/stub
- name = "stub arms"
- species = "stub"
-
-/obj/effect/organ/limb/legs/stub
- name = "stub legs"
- species = "stub"
-
-/obj/effect/organ/head/stub
- name = "stub head"
- species = "stub"
-
-// ++++STUB ORGAN STRUCTURE. END++++
-
-
-// ++++MONKEY++++
-
-/obj/effect/organstructure/monkey
- name = "monkey organs"
-
- New()
- new /obj/effect/organ/torso/monkey(src)
- ..()
-
-/obj/effect/organ/torso/monkey
- name = "monkey torso"
- species = "monkey"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/monkey(src)
- new /obj/effect/organ/limb/legs/monkey(src)
- new /obj/effect/organ/head/monkey(src)
-
-/obj/effect/organ/limb/arms/monkey
- name = "monkey arms"
- species = "monkey"
-
-/obj/effect/organ/limb/legs/monkey
- name = "monkey legs"
- species = "monkey"
-
-/obj/effect/organ/head/monkey
- name = "monkey head"
- species = "monkey"
-
-
-// +++++CYBORG+++++
-/obj/effect/organstructure/cyborg
- name = "cyborg organs"
-
- New()
- new /obj/effect/organ/torso/cyborg(src)
- ..()
-
-/obj/effect/organ/torso/cyborg
- name = "cyborg torso"
- species = "cyborg"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/cyborg(src)
- new /obj/effect/organ/limb/legs/cyborg(src)
- new /obj/effect/organ/head/cyborg(src)
-
-/obj/effect/organ/limb/arms/cyborg
- name = "cyborg arms"
- species = "cyborg"
-
-/obj/effect/organ/limb/legs/cyborg
- name = "cyborg legs"
- species = "cyborg"
-
-/obj/effect/organ/head/cyborg
- name = "cyborg head"
- species = "cyborg"
-
-// +++++AI++++++
-/obj/effect/organstructure/AI
- name = "AI organs"
-
- New()
- new /obj/effect/organ/torso/AI(src)
- ..()
-
-/obj/effect/organ/torso/AI
- name = "AI torso"
- species = "AI"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/AI(src)
- new /obj/effect/organ/limb/legs/AI(src)
- new /obj/effect/organ/head/AI(src)
-
-/obj/effect/organ/limb/arms/AI
- name = "AI arms"
- species = "AI"
-
-/obj/effect/organ/limb/legs/AI
- name = "AI legs"
- species = "AI"
-
-/obj/effect/organ/head/AI
- name = "AI head"
- species = "AI"
-
-/* New organ structure template
-
-
-/obj/effect/organstructure/template
- name = "template organs"
-
- New()
- new /obj/effect/organ/torso/template(src)
- ..()
-
-/obj/effect/organ/torso/template
- name = "template torso"
- species = "template"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/template(src)
- new /obj/effect/organ/limb/legs/template(src)
- new /obj/effect/organ/head/template(src)
-
-/obj/effect/organ/limb/arms/template
- name = "template arms"
- species = "template"
-
-/obj/effect/organ/limb/legs/template
- name = "template legs"
- species = "template"
-
-/obj/effect/organ/head/template
- name = "template head"
- species = "template"
-
-=======
-/obj/effect/organstructure //used obj for the "contents" var
- name = "organs"
-
- var/species = "mob" //for speaking in unknown languages purposes
-
- var/obj/effect/organ/limb/arms/arms = null
- var/obj/effect/organ/limb/legs/legs = null
- var/obj/effect/organ/torso/torso = null
- var/obj/effect/organ/head/head = null
-
-
- proc/GetSpeciesName()
- var/list/speciesPresent = list()
-
- for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance
- if(speciesPresent[organ.species])
- speciesPresent[organ.species]++
- else
- speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++
-
- var/list/dominantSpecies = list()
-
- for(var/speciesName in speciesPresent)
- if(!dominantSpecies.len)
- dominantSpecies += speciesName
- else
- if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName])
- dominantSpecies += speciesName
- else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName])
- dominantSpecies = list(speciesName)
-
- if(!dominantSpecies.len)
- species = "mob"
- else
- species = pick(dominantSpecies)
-
- return species
-
- proc/RecalculateStructure()
- var/list/organs = GetAllContents()
-
- arms = locate(/obj/effect/organ/limb/arms) in organs
- legs = locate(/obj/effect/organ/limb/legs) in organs
- torso = locate(/obj/effect/organ/torso) in organs
- head = locate(/obj/effect/organ/head) in organs
-
- GetSpeciesName()
-
- return
-
- proc/ProcessOrgans()
- set background = 1
-
- var/list/organs = GetAllContents()
- for(var/obj/effect/organ/organ in organs)
- organ.ProcessOrgan()
-
- return
-
- New()
- ..()
- RecalculateStructure()
-
-/obj/effect/organstructure/human
- name = "human organs"
-
- New()
- new /obj/effect/organ/torso/human(src)
- ..()
-
-/obj/effect/organstructure/alien
- name = "alien organs"
-
- New()
- new /obj/effect/organ/torso/alien(src)
- ..()
-
-/obj/effect/organ
- name = "organ"
-
- //All types
- var/organType = 0 //CYBER and SPELL go here
- var/species = "mob"
- var/obj/effect/organstructure/rootOrganStructure = null
-
- New(location)
- ..()
-
- rootOrganStructure = FindRootStructure()
-
- proc/FindRootStructure()
- if(istype(loc,/obj/effect/organ))
- var/obj/effect/organ/parent = loc
- return parent.FindRootStructure()
- else if(istype(loc,/obj/effect/organstructure))
- return loc
- return null
-
- proc/ProcessOrgan()
- return
-
-/obj/effect/organ/torso
- name = "torso"
- var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later
-
-/obj/effect/organ/torso/human
- name = "human torso"
- species = "human"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/human(src)
- new /obj/effect/organ/limb/legs/human(src)
- new /obj/effect/organ/head/human(src)
-/obj/effect/organ/torso/alien
- name = "alien torso"
- species = "alien"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/alien(src)
- new /obj/effect/organ/limb/legs/alien(src)
- new /obj/effect/organ/head/alien(src)
-
-
-/obj/effect/organ/limb
- name = "limb"
-
-/obj/effect/organ/limb/arms
- name = "arms"
-
- var/minDamage = 5 //punching damage
- var/maxDamage = 5
-
-/obj/effect/organ/limb/arms/alien
- name = "alien arms"
- species = "alien"
- minDamage = 5
- maxDamage = 15
-
-
-/obj/effect/organ/limb/arms/human
- name = "human arms"
- species = "human"
- minDamage = 1
- maxDamage = 9
-
-/obj/effect/organ/limb/legs
- name = "legs"
-
-/obj/effect/organ/limb/legs/human
- name = "human legs"
- species = "human"
-
-/obj/effect/organ/limb/legs/alien
- name = "alien legs"
- species = "alien"
-
-
-/obj/effect/organ/head
- name = "head"
-
-/obj/effect/organ/head/human
- name = "human head"
- species = "human"
-
-/obj/effect/organ/head/alien
- name = "alien head"
- species = "alien"
-
-/obj/effect/organ/limb/arms/alien
- name = "alien arms"
- species = "alien"
- minDamage = 5
- maxDamage = 15
-
-/obj/effect/organ/limb/legs/alien
- name = "alien legs"
- species = "alien"
-
-/obj/effect/organ/head/alien
- name = "alien head"
- species = "alien"
-
-// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++
-/obj/effect/organstructure/stub
- name = "stub organs"
-
- New()
- new /obj/effect/organ/torso/stub(src)
- ..()
-
-/obj/effect/organ/torso/stub
- name = "stub torso"
- species = "stub"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/stub(src)
- new /obj/effect/organ/limb/legs/stub(src)
- new /obj/effect/organ/head/stub(src)
-
-/obj/effect/organ/limb/arms/stub
- name = "stub arms"
- species = "stub"
-
-/obj/effect/organ/limb/legs/stub
- name = "stub legs"
- species = "stub"
-
-/obj/effect/organ/head/stub
- name = "stub head"
- species = "stub"
-
-// ++++STUB ORGAN STRUCTURE. END++++
-
-
-// ++++MONKEY++++
-
-/obj/effect/organstructure/monkey
- name = "monkey organs"
-
- New()
- new /obj/effect/organ/torso/monkey(src)
- ..()
-
-/obj/effect/organ/torso/monkey
- name = "monkey torso"
- species = "monkey"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/monkey(src)
- new /obj/effect/organ/limb/legs/monkey(src)
- new /obj/effect/organ/head/monkey(src)
-
-/obj/effect/organ/limb/arms/monkey
- name = "monkey arms"
- species = "monkey"
-
-/obj/effect/organ/limb/legs/monkey
- name = "monkey legs"
- species = "monkey"
-
-/obj/effect/organ/head/monkey
- name = "monkey head"
- species = "monkey"
-
-
-// +++++CYBORG+++++
-/obj/effect/organstructure/cyborg
- name = "cyborg organs"
-
- New()
- new /obj/effect/organ/torso/cyborg(src)
- ..()
-
-/obj/effect/organ/torso/cyborg
- name = "cyborg torso"
- species = "cyborg"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/cyborg(src)
- new /obj/effect/organ/limb/legs/cyborg(src)
- new /obj/effect/organ/head/cyborg(src)
-
-/obj/effect/organ/limb/arms/cyborg
- name = "cyborg arms"
- species = "cyborg"
-
-/obj/effect/organ/limb/legs/cyborg
- name = "cyborg legs"
- species = "cyborg"
-
-/obj/effect/organ/head/cyborg
- name = "cyborg head"
- species = "cyborg"
-
-// +++++AI++++++
-/obj/effect/organstructure/AI
- name = "AI organs"
-
- New()
- new /obj/effect/organ/torso/AI(src)
- ..()
-
-/obj/effect/organ/torso/AI
- name = "AI torso"
- species = "AI"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/AI(src)
- new /obj/effect/organ/limb/legs/AI(src)
- new /obj/effect/organ/head/AI(src)
-
-/obj/effect/organ/limb/arms/AI
- name = "AI arms"
- species = "AI"
-
-/obj/effect/organ/limb/legs/AI
- name = "AI legs"
- species = "AI"
-
-/obj/effect/organ/head/AI
- name = "AI head"
- species = "AI"
-
-/* New organ structure template
-
-
-/obj/effect/organstructure/template
- name = "template organs"
-
- New()
- new /obj/effect/organ/torso/template(src)
- ..()
-
-/obj/effect/organ/torso/template
- name = "template torso"
- species = "template"
- maxHealth = 100
-
- New()
- ..()
- new /obj/effect/organ/limb/arms/template(src)
- new /obj/effect/organ/limb/legs/template(src)
- new /obj/effect/organ/head/template(src)
-
-/obj/effect/organ/limb/arms/template
- name = "template arms"
- species = "template"
-
-/obj/effect/organ/limb/legs/template
- name = "template legs"
- species = "template"
-
-/obj/effect/organ/head/template
- name = "template head"
- species = "template"
-
->>>>>>> remotes/git-svn
-*/
\ No newline at end of file
diff --git a/code/ZAS - oldbs12/Airflow.dm b/code/ZAS - oldbs12/Airflow.dm
deleted file mode 100644
index efa45700f4e..00000000000
--- a/code/ZAS - oldbs12/Airflow.dm
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
-
-CONTAINS:
-All AirflowX() procs, all Variable Setting Controls for airflow, save/load variable tweaks for airflow.
-
-VARIABLES:
-
-atom/movable/airflow_dest
- The destination turf of a flying object.
-
-atom/movable/airflow_speed
- The speed (1-15) at which a flying object is traveling to airflow_dest. Decays over time.
-
-
-OVERLOADABLE PROCS:
-
-mob/airflow_stun()
- Contains checks for and results of being stunned by airflow.
- Called when airflow quantities exceed airflow_medium_pressure.
- RETURNS: Null
-
-atom/movable/check_airflow_movable(n)
- Contains checks for moving any object due to airflow.
- n is the pressure that is flowing.
- RETURNS: 1 if the object moves under the air conditions, 0 if it stays put.
-
-atom/movable/airflow_hit(atom/A)
- Contains results of hitting a solid object (A) due to airflow.
- A is the dense object hit.
- Use airflow_speed to determine how fast the projectile was going.
-
-
-AUTOMATIC PROCS:
-
-Airflow(zone/A, zone/B)
- Causes objects to fly along a pressure gradient.
- Called by zone updates. A and B are two connected zones.
-
-AirflowSpace(zone/A)
- Causes objects to fly into space.
- Called by zone updates. A is a zone connected to space.
-
-atom/movable/GotoAirflowDest(n)
-atom/movable/RepelAirflowDest(n)
- Called by main airflow procs to cause the object to fly to or away from destination at speed n.
- Probably shouldn't call this directly unless you know what you're
- doing and have set airflow_dest. airflow_hit() will be called if the object collides with an obstacle.
-
-*/
-
-mob/var/tmp/last_airflow_stun = 0
-mob/proc/airflow_stun()
- if(stat == 2)
- return 0
- if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0
- if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
- src << "\blue You stay upright as the air rushes past you."
- return 0
- if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
- weakened = max(weakened,5)
- last_airflow_stun = world.time
-
-mob/living/silicon/airflow_stun()
- return
-
-mob/living/carbon/metroid/airflow_stun()
- return
-
-mob/living/carbon/human/airflow_stun()
- if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0
- if(buckled) return 0
- if(shoes)
- if((shoes.flags & NOSLIP) || (species.bodyflags & FEET_NOSLIP)) return 0
- if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
- src << "\blue You stay upright as the air rushes past you."
- return 0
- if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
- weakened = max(weakened,rand(1,5))
- last_airflow_stun = world.time
-
-atom/movable/proc/check_airflow_movable(n)
-
- if(anchored && !ismob(src)) return 0
-
- if(!istype(src,/obj/item) && n < vsc.airflow_dense_pressure) return 0
-
- return 1
-
-mob/check_airflow_movable(n)
- if(n < vsc.airflow_heavy_pressure)
- return 0
- return 1
-
-mob/dead/observer/check_airflow_movable()
- return 0
-
-mob/living/silicon/check_airflow_movable()
- return 0
-
-
-obj/item/check_airflow_movable(n)
- . = ..()
- switch(w_class)
- if(2)
- if(n < vsc.airflow_lightest_pressure) return 0
- if(3)
- if(n < vsc.airflow_light_pressure) return 0
- if(4,5)
- if(n < vsc.airflow_medium_pressure) return 0
-
-//The main airflow code. Called by zone updates.
-//Zones A and B are air zones. n represents the amount of air moved.
-
-proc/Airflow(zone/A, zone/B)
-
- var/n = B.air.return_pressure() - A.air.return_pressure()
-
- //Don't go any further if n is lower than the lowest value needed for airflow.
- if(abs(n) < vsc.airflow_lightest_pressure) return
-
- //These turfs are the midway point between A and B, and will be the destination point for thrown objects.
- var/list/connection/connections_A = A.connections
- var/list/turf/connected_turfs = list()
- for(var/connection/C in connections_A) //Grab the turf that is in the zone we are flowing to (determined by n)
- if( ( A == C.A.zone || A == C.zone_A ) && ( B == C.B.zone || B == C.zone_B ) )
- if(n < 0)
- connected_turfs |= C.B
- else
- connected_turfs |= C.A
- else if( ( A == C.B.zone || A == C.zone_B ) && ( B == C.A.zone || B == C.zone_A ) )
- if(n < 0)
- connected_turfs |= C.A
- else
- connected_turfs |= C.B
-
- //Get lists of things that can be thrown across the room for each zone (assumes air is moving from zone B to zone A)
- var/list/air_sucked = B.movables()
- var/list/air_repelled = A.movables()
- if(n < 0)
- //air is moving from zone A to zone B
- var/list/temporary_pplz = air_sucked
- air_sucked = air_repelled
- air_repelled = temporary_pplz
-
- for(var/atom/movable/M in air_sucked)
-
- if(M.last_airflow > world.time - vsc.airflow_delay) continue
-
- //Check for knocking people over
- if(ismob(M) && n > vsc.airflow_stun_pressure)
- if(M:status_flags & GODMODE) continue
- M:airflow_stun()
-
- if(M.check_airflow_movable(n))
-
- //Check for things that are in range of the midpoint turfs.
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
-
- spawn M.GotoAirflowDest(abs(n)/5)
-
- //Do it again for the stuff in the other zone, making it fly away.
- for(var/atom/movable/M in air_repelled)
-
- if(M.last_airflow > world.time - vsc.airflow_delay) continue
-
- if(ismob(M) && abs(n) > vsc.airflow_medium_pressure)
- if(M:status_flags & GODMODE) continue
- M:airflow_stun()
-
- if(M.check_airflow_movable(abs(n)))
-
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
-
- spawn M.RepelAirflowDest(abs(n)/5)
-
-proc/AirflowSpace(zone/A)
-
- //The space version of the Airflow(A,B,n) proc.
-
- var/n = A.air.return_pressure()
- //Here, n is determined by only the pressure in the room.
-
- if(n < vsc.airflow_lightest_pressure) return
-
- var/list/connected_turfs = A.unsimulated_tiles //The midpoints are now all the space connections.
- var/list/pplz = A.movables() //We only need to worry about things in the zone, not things in space.
-
- for(var/atom/movable/M in pplz)
-
- if(M.last_airflow > world.time - vsc.airflow_delay) continue
-
- if(ismob(M) && n > vsc.airflow_stun_pressure)
- var/mob/O = M
- if(O.status_flags & GODMODE) continue
- O.airflow_stun()
-
- if(M.check_airflow_movable(n))
-
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
- spawn
- if(M) M.GotoAirflowDest(n/10)
- //Sometimes shit breaks, and M isn't there after the spawn.
-
-
-/atom/movable/var/tmp/turf/airflow_dest
-/atom/movable/var/tmp/airflow_speed = 0
-/atom/movable/var/tmp/airflow_time = 0
-/atom/movable/var/tmp/last_airflow = 0
-
-/atom/movable/proc/GotoAirflowDest(n)
- if(!airflow_dest) return
- if(airflow_speed < 0) return
- if(last_airflow > world.time - vsc.airflow_delay) return
- if(airflow_speed)
- airflow_speed = n/max(get_dist(src,airflow_dest),1)
- return
- last_airflow = world.time
- if(airflow_dest == loc)
- step_away(src,loc)
- if(ismob(src))
- if(src:status_flags & GODMODE)
- return
- if(istype(src, /mob/living/carbon/human))
- if(src:buckled)
- return
- if(src:shoes)
- if(istype(src:shoes, /obj/item/clothing/shoes/magboots))
- if(src:shoes:magpulse)
- return
- src << "\red You are sucked away by airflow!"
- var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful.
- if(airflow_falloff < 1)
- airflow_dest = null
- return
- airflow_speed = min(max(n * (9/airflow_falloff),1),9)
- var
- xo = airflow_dest.x - src.x
- yo = airflow_dest.y - src.y
- od = 0
- airflow_dest = null
- if(!density)
- density = 1
- od = 1
- while(airflow_speed > 0)
- if(airflow_speed <= 0) return
- airflow_speed = min(airflow_speed,15)
- airflow_speed -= vsc.airflow_speed_decay
- if(airflow_speed > 7)
- if(airflow_time++ >= airflow_speed - 7)
- if(od)
- density = 0
- sleep(1 * tick_multiplier)
- else
- if(od)
- density = 0
- sleep(max(1,10-(airflow_speed+3)) * tick_multiplier)
- if(od)
- density = 1
- if ((!( src.airflow_dest ) || src.loc == src.airflow_dest))
- src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z)
- if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
- return
- if(!istype(loc, /turf))
- return
- step_towards(src, src.airflow_dest)
- if(ismob(src) && src:client)
- src:client:move_delay = world.time + vsc.airflow_mob_slowdown
- airflow_dest = null
- airflow_speed = 0
- airflow_time = 0
- if(od)
- density = 0
-
-
-/atom/movable/proc/RepelAirflowDest(n)
- if(!airflow_dest) return
- if(airflow_speed < 0) return
- if(last_airflow > world.time - vsc.airflow_delay) return
- if(airflow_speed)
- airflow_speed = n/max(get_dist(src,airflow_dest),1)
- return
- if(airflow_dest == loc)
- step_away(src,loc)
- if(ismob(src))
- if(src:status_flags & GODMODE)
- return
- if(istype(src, /mob/living/carbon/human))
- if(src:buckled)
- return
- if(src:shoes)
- if(istype(src:shoes, /obj/item/clothing/shoes/magboots))
- if(src:shoes.flags & NOSLIP)
- return
- src << "\red You are pushed away by airflow!"
- last_airflow = world.time
- var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful.
- if(airflow_falloff < 1)
- airflow_dest = null
- return
- airflow_speed = min(max(n * (9/airflow_falloff),1),9)
- var
- xo = -(airflow_dest.x - src.x)
- yo = -(airflow_dest.y - src.y)
- od = 0
- airflow_dest = null
- if(!density)
- density = 1
- od = 1
- while(airflow_speed > 0)
- if(airflow_speed <= 0) return
- airflow_speed = min(airflow_speed,15)
- airflow_speed -= vsc.airflow_speed_decay
- if(airflow_speed > 7)
- if(airflow_time++ >= airflow_speed - 7)
- sleep(1 * tick_multiplier)
- else
- sleep(max(1,10-(airflow_speed+3)) * tick_multiplier)
- if ((!( src.airflow_dest ) || src.loc == src.airflow_dest))
- src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z)
- if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
- return
- if(!istype(loc, /turf))
- return
- step_towards(src, src.airflow_dest)
- if(ismob(src) && src:client)
- src:client:move_delay = world.time + vsc.airflow_mob_slowdown
- airflow_dest = null
- airflow_speed = 0
- airflow_time = 0
- if(od)
- density = 0
-
-/atom/movable/Bump(atom/A)
- if(airflow_speed > 0 && airflow_dest)
- airflow_hit(A)
- else
- airflow_speed = 0
- airflow_time = 0
- . = ..()
-
-atom/movable/proc/airflow_hit(atom/A)
- airflow_speed = 0
- airflow_dest = null
-
-mob/airflow_hit(atom/A)
- for(var/mob/M in hearers(src))
- M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2)
- playsound(src.loc, "smash.ogg", 25, 1, -1)
- weakened = max(weakened, (istype(A,/obj/item) ? A:w_class : rand(1,5))) //Heheheh
- . = ..()
-
-obj/airflow_hit(atom/A)
- for(var/mob/M in hearers(src))
- M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2)
- playsound(src.loc, "smash.ogg", 25, 1, -1)
- . = ..()
-
-obj/item/airflow_hit(atom/A)
- airflow_speed = 0
- airflow_dest = null
-
-mob/living/carbon/human/airflow_hit(atom/A)
-// for(var/mob/M in hearers(src))
-// M.show_message("\red [src] slams into [A]!",1,"\red You hear a loud slam!",2)
- playsound(src.loc, "punch", 25, 1, -1)
- loc:add_blood(src)
- if (src.wear_suit)
- src.wear_suit.add_blood(src)
- if (src.w_uniform)
- src.w_uniform.add_blood(src)
- var/b_loss = airflow_speed * vsc.airflow_damage
-
- var/blocked = run_armor_check("head","melee")
- apply_damage(b_loss/3, BRUTE, "head", blocked, 0, "Airflow")
-
- blocked = run_armor_check("chest","melee")
- apply_damage(b_loss/3, BRUTE, "chest", blocked, 0, "Airflow")
-
- blocked = run_armor_check("groin","melee")
- apply_damage(b_loss/3, BRUTE, "groin", blocked, 0, "Airflow")
-
- if(airflow_speed > 10)
- paralysis += round(airflow_speed * vsc.airflow_stun)
- stunned = max(stunned,paralysis + 3)
- else
- stunned += round(airflow_speed * vsc.airflow_stun/2)
- . = ..()
-
-zone/proc/movables()
- . = list()
- for(var/turf/T in contents)
- for(var/atom/A in T)
-// if(istype(A, /obj/effect) || istype(A, /mob/aiEye))
- if(istype(A, /obj/effect) || istype(A, /mob/camera/aiEye))
- continue
- . += A
diff --git a/code/ZAS - oldbs12/Connection.dm b/code/ZAS - oldbs12/Connection.dm
deleted file mode 100644
index 1bb8f9ca54d..00000000000
--- a/code/ZAS - oldbs12/Connection.dm
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
-This object is contained within zone/var/connections. It's generated whenever two turfs from different zones are linked.
-Indirect connections will not merge the two zones after they reach equilibrium.
-*/
-#define CONNECTION_DIRECT 2
-#define CONNECTION_INDIRECT 1
-#define CONNECTION_CLOSED 0
-
-/connection
- var/turf/simulated/A
- var/turf/simulated/B
-
- var/zone/zone_A
- var/zone/zone_B
-
- var/indirect = CONNECTION_DIRECT //If the connection is purely indirect, the zones should not join.
-
-
-/connection/New(turf/T,turf/O)
- . = ..()
-
- A = T
- B = O
-
- if(A.zone && B.zone)
- if(!A.zone.connections)
- A.zone.connections = list()
- A.zone.connections += src
- zone_A = A.zone
-
- if(!B.zone.connections)
- B.zone.connections = list()
- B.zone.connections += src
- zone_B = B.zone
-
- if(A in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[A]
- connections.Add(src)
- else
- air_master.turfs_with_connections[A] = list(src)
-
- if(B in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[B]
- connections.Add(src)
- else
- air_master.turfs_with_connections[B] = list(src)
-
- if(A.CanPass(null, B, 0, 0))
-
- if(!A.CanPass(null, B, 1.5, 1))
- indirect = CONNECTION_INDIRECT
-
- ConnectZones(A.zone, B.zone, indirect)
-
- else
- ConnectZones(A.zone, B.zone)
- indirect = CONNECTION_CLOSED
-
- else
- world.log << "Attempted to create connection object for non-zone tiles: [T] ([T.x],[T.y],[T.z]) -> [O] ([O.x],[O.y],[O.z])"
- SoftDelete()
-
-
-/connection/Del()
- //remove connections from master lists.
- if(B in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[B]
- connections.Remove(src)
-
- if(A in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[A]
- connections.Remove(src)
-
- //Remove connection from zones.
- if(A)
- if(A.zone && A.zone.connections)
- A.zone.connections.Remove(src)
- if(!A.zone.connections.len)
- A.zone.connections = null
-
- if(istype(zone_A) && (!A || A.zone != zone_A))
- if(zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(B)
- if(B.zone && B.zone.connections)
- B.zone.connections.Remove(src)
- if(!B.zone.connections.len)
- B.zone.connections = null
-
- if(istype(zone_B) && (!B || B.zone != zone_B))
- if(zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- //Disconnect zones while handling unusual conditions.
- // e.g. loss of a zone on a turf
- DisconnectZones(zone_A, zone_B)
-
- //Finally, preform actual deletion.
- . = ..()
-
-
-/connection/proc/SoftDelete()
- //remove connections from master lists.
- if(B in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[B]
- connections.Remove(src)
-
- if(A in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[A]
- connections.Remove(src)
-
- //Remove connection from zones.
- if(A)
- if(A.zone && A.zone.connections)
- A.zone.connections.Remove(src)
- if(!A.zone.connections.len)
- A.zone.connections = null
-
- if(istype(zone_A) && (!A || A.zone != zone_A))
- if(zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(B)
- if(B.zone && B.zone.connections)
- B.zone.connections.Remove(src)
- if(!B.zone.connections.len)
- B.zone.connections = null
-
- if(istype(zone_B) && (!B || B.zone != zone_B))
- if(zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- //Disconnect zones while handling unusual conditions.
- // e.g. loss of a zone on a turf
- DisconnectZones(zone_A, zone_B)
-
-
-/connection/proc/ConnectZones(var/zone/zone_1, var/zone/zone_2, open = 0)
-
- //Sanity checking
- if(!istype(zone_1) || !istype(zone_2))
- return
-
- //Handle zones connecting indirectly/directly.
- if(open)
-
- //Create the lists if necessary.
- if(!zone_1.connected_zones)
- zone_1.connected_zones = list()
-
- if(!zone_2.connected_zones)
- zone_2.connected_zones = list()
-
- //Increase the number of connections between zones.
- if(zone_2 in zone_1.connected_zones)
- zone_1.connected_zones[zone_2]++
- else
- zone_1.connected_zones += zone_2
- zone_1.connected_zones[zone_2] = 1
-
- if(zone_1 in zone_2.connected_zones)
- zone_2.connected_zones[zone_1]++
- else
- zone_2.connected_zones += zone_1
- zone_2.connected_zones[zone_1] = 1
-
- if(open == CONNECTION_DIRECT)
- if(!zone_1.direct_connections)
- zone_1.direct_connections = list(src)
- else
- zone_1.direct_connections += src
-
- if(!zone_2.direct_connections)
- zone_2.direct_connections = list(src)
- else
- zone_2.direct_connections += src
-
-
- //Handle closed connections.
- else
-
- //Create the lists
- if(!zone_1.closed_connection_zones)
- zone_1.closed_connection_zones = list()
-
- if(!zone_2.closed_connection_zones)
- zone_2.closed_connection_zones = list()
-
- //Increment the connections.
- if(zone_2 in zone_1.closed_connection_zones)
- zone_1.closed_connection_zones[zone_2]++
- else
- zone_1.closed_connection_zones += zone_2
- zone_1.closed_connection_zones[zone_2] = 1
-
- if(zone_1 in zone_2.closed_connection_zones)
- zone_2.closed_connection_zones[zone_1]++
- else
- zone_2.closed_connection_zones += zone_1
- zone_2.closed_connection_zones[zone_1] = 1
-
- if(zone_1.status == ZONE_SLEEPING)
- zone_1.SetStatus(ZONE_ACTIVE)
-
- if(zone_2.status == ZONE_SLEEPING)
- zone_2.SetStatus(ZONE_ACTIVE)
-
-/connection/proc/DisconnectZones(var/zone/zone_1, var/zone/zone_2)
- //Sanity checking
- if(!istype(zone_1) || !istype(zone_2))
- return
-
- if(indirect != CONNECTION_CLOSED)
- //Handle disconnection of indirectly or directly connected zones.
- if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) )
-
- //If there are more than one connection, decrement the number of connections
- //Otherwise, remove all connections between the zones.
- if(zone_2 in zone_1.connected_zones)
- if(zone_1.connected_zones[zone_2] > 1)
- zone_1.connected_zones[zone_2]--
- else
- zone_1.connected_zones -= zone_2
- //remove the list if it is empty
- if(!zone_1.connected_zones.len)
- zone_1.connected_zones = null
-
- //Then do the same for the other zone.
- if(zone_1 in zone_2.connected_zones)
- if(zone_2.connected_zones[zone_1] > 1)
- zone_2.connected_zones[zone_1]--
- else
- zone_2.connected_zones -= zone_1
- if(!zone_2.connected_zones.len)
- zone_2.connected_zones = null
-
- if(indirect == CONNECTION_DIRECT)
- zone_1.direct_connections -= src
- if(!zone_1.direct_connections.len)
- zone_1.direct_connections = null
-
- zone_2.direct_connections -= src
- if(!zone_2.direct_connections.len)
- zone_2.direct_connections = null
-
- else
- //Handle disconnection of closed zones.
- if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) )
-
- //If there are more than one connection, decrement the number of connections
- //Otherwise, remove all connections between the zones.
- if(zone_2 in zone_1.closed_connection_zones)
- if(zone_1.closed_connection_zones[zone_2] > 1)
- zone_1.closed_connection_zones[zone_2]--
- else
- zone_1.closed_connection_zones -= zone_2
- //remove the list if it is empty
- if(!zone_1.closed_connection_zones.len)
- zone_1.closed_connection_zones = null
-
- //Then do the same for the other zone.
- if(zone_1 in zone_2.closed_connection_zones)
- if(zone_2.closed_connection_zones[zone_1] > 1)
- zone_2.closed_connection_zones[zone_1]--
- else
- zone_2.closed_connection_zones -= zone_1
- if(!zone_2.closed_connection_zones.len)
- zone_2.closed_connection_zones = null
-
-
-/connection/proc/Cleanup()
-
- //Check sanity: existance of turfs
- if(!A || !B)
- SoftDelete()
- return
-
- //Check sanity: loss of zone
- if(!A.zone || !B.zone)
- SoftDelete()
- return
-
- //Check sanity: zones are different
- if(A.zone == B.zone)
- SoftDelete()
- return
-
- //Handle zones changing on a turf.
- if((A.zone && A.zone != zone_A) || (B.zone && B.zone != zone_B))
- Sanitize()
-
- if(A.zone && B.zone)
-
- //If no walls are blocking us...
- if(A.ZAirPass(B))
- //...we check to see if there is a door in the way...
- var/door_pass = A.CanPass(null,B,1.5,1)
- //...and if it is opened.
- if(door_pass || A.CanPass(null,B,0,0))
-
- //Make and remove connections to let air pass.
- if(indirect == CONNECTION_CLOSED)
- DisconnectZones(A.zone, B.zone)
- ConnectZones(A.zone, B.zone, door_pass + 1)
-
- if(door_pass)
- indirect = CONNECTION_DIRECT
- else if(!door_pass)
- indirect = CONNECTION_INDIRECT
-
- //The door is instead closed.
- else if(indirect > CONNECTION_CLOSED)
- DisconnectZones(A.zone, B.zone)
- indirect = CONNECTION_CLOSED
- ConnectZones(A.zone, B.zone)
-
- //If I can no longer pass air, better delete
- else
- SoftDelete()
- return
-
-/connection/proc/Sanitize()
- //If the zones change on connected turfs, update it.
-
- //Both zones changed (wat)
- if(A.zone && A.zone != zone_A && B.zone && B.zone != zone_B)
-
- //If the zones have gotten swapped
- // (do not ask me how, I am just being anal retentive about sanity)
- if(A.zone == zone_B && B.zone == zone_A)
- var/turf/temp = B
- B = A
- A = temp
- zone_B = B.zone
- zone_A = A.zone
- return
-
- //Handle removal of connections from archived zones.
- if(zone_A && zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(zone_B && zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- if(A.zone)
- if(!A.zone.connections)
- A.zone.connections = list()
- A.zone.connections |= src
-
- if(B.zone)
- if(!B.zone.connections)
- B.zone.connections = list()
- B.zone.connections |= src
-
- //If either zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!A.zone || !B.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_B, zone_A)
-
- if(!A.zone)
- zone_A = A.zone
-
- if(!B.zone)
- zone_B = B.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
-
- //resetting values of archived values.
- zone_B = B.zone
- zone_A = A.zone
-
- //The "A" zone changed.
- else if(A.zone && A.zone != zone_A)
-
- //Handle connection cleanup
- if(zone_A)
- if(zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(A.zone)
- if(!A.zone.connections)
- A.zone.connections = list()
- A.zone.connections |= src
-
- //If the "A" zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!A.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- zone_A = A.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
- zone_A = A.zone
-
- //The "B" zone changed.
- else if(B.zone && B.zone != zone_B)
-
- //Handle connection cleanup
- if(zone_B)
- if(zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- if(B.zone)
- if(!B.zone.connections)
- B.zone.connections = list()
- B.zone.connections |= src
-
- //If the "B" zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!B.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- zone_B = B.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
- zone_B = B.zone
-
-
-#undef CONNECTION_DIRECT
-#undef CONNECTION_INDIRECT
-#undef CONNECTION_CLOSED
diff --git a/code/ZAS - oldbs12/Debug.dm b/code/ZAS - oldbs12/Debug.dm
deleted file mode 100644
index 39f5a7caabd..00000000000
--- a/code/ZAS - oldbs12/Debug.dm
+++ /dev/null
@@ -1,219 +0,0 @@
-client/proc/ZoneTick()
- set category = "Debug"
- set name = "Process Atmos"
-
- var/result = air_master.Tick()
- if(result)
- src << "Sucessfully Processed."
-
- else
- src << "Failed to process! ([air_master.tick_progress])"
-
-
-client/proc/Zone_Info(turf/T as null|turf)
- set category = "Debug"
- if(T)
- if(T.zone)
- T.zone.DebugDisplay(src)
- else
- mob << "No zone here."
- else
- if(zone_debug_images)
- for(var/zone in zone_debug_images)
- images -= zone_debug_images[zone]
- zone_debug_images = null
-
-client/var/list/zone_debug_images
-
-client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf)
- set category = "Debug"
- if(!istype(T))
- return
-
- var/direction_list = list(\
- "North" = NORTH,\
- "South" = SOUTH,\
- "East" = EAST,\
- "West" = WEST,\
- "N/A" = null)
- var/direction = input("What direction do you wish to test?","Set direction") as null|anything in direction_list
- if(!direction)
- return
-
- if(direction == "N/A")
- if(T.CanPass(null, T, 0,0))
- mob << "The turf can pass air! :D"
- else
- mob << "No air passage :x"
- return
-
- var/turf/simulated/other_turf = get_step(T, direction_list[direction])
- if(!istype(other_turf))
- return
-
- var/pass_directions = T.CanPass(null, other_turf, 0, 0) + 2 * other_turf.CanPass(null, T, 0, 0)
-
- switch(pass_directions)
- if(0)
- mob << "Neither turf can connect. :("
-
- if(1)
- mob << "The initial turf only can connect. :\\"
-
- if(2)
- mob << "The other turf can connect, but not the initial turf. :/"
-
- if(3)
- mob << "Both turfs can connect! :)"
-
-
-zone/proc/DebugDisplay(client/client)
- if(!istype(client))
- return
-
- if(!dbg_output)
- dbg_output = 1 //Don't want to be spammed when someone investigates a zone...
-
- if(!client.zone_debug_images)
- client.zone_debug_images = list()
-
- var/list/current_zone_images = list()
-
- for(var/turf/T in contents)
- current_zone_images += image('icons/misc/debug_group.dmi', T, null, TURF_LAYER)
-
- for(var/turf/space/S in unsimulated_tiles)
- current_zone_images += image('icons/misc/debug_space.dmi', S, null, TURF_LAYER)
-
- client << "Zone Air Contents"
- client << "Oxygen: [air.oxygen]"
- client << "Nitrogen: [air.nitrogen]"
- client << "Plasma: [air.toxins]"
- client << "Carbon Dioxide: [air.carbon_dioxide]"
- client << "Temperature: [air.temperature] K"
- client << "Heat Energy: [air.temperature * air.heat_capacity()] J"
- client << "Pressure: [air.return_pressure()] KPa"
- client << ""
- client << "Space Tiles: [length(unsimulated_tiles)]"
- client << "Movable Objects: [length(movables())]"
- client << "Connections: [length(connections)]"
-
- for(var/connection/C in connections)
- client << "\ref[C] [C.A] --> [C.B] [(C.indirect?"Open":"Closed")]"
- current_zone_images += image('icons/misc/debug_connect.dmi', C.A, null, TURF_LAYER)
- current_zone_images += image('icons/misc/debug_connect.dmi', C.B, null, TURF_LAYER)
-
- client << "Connected Zones:"
- for(var/zone/zone in connected_zones)
- client << "\ref[zone] [zone] - [connected_zones[zone]] (Connected)"
-
- for(var/zone/zone in closed_connection_zones)
- client << "\ref[zone] [zone] - [closed_connection_zones[zone]] (Unconnected)"
-
- for(var/C in connections)
- if(!istype(C,/connection))
- client << "[C] (Not Connection!)"
-
- if(!client.zone_debug_images)
- client.zone_debug_images = list()
- client.zone_debug_images[src] = current_zone_images
-
- client.images += client.zone_debug_images[src]
-
- else
- dbg_output = 0
-
- client.images -= client.zone_debug_images[src]
- client.zone_debug_images.Remove(src)
-
- if(air_master)
- for(var/zone/Z in air_master.zones)
- if(Z.air == air && Z != src)
- var/turf/zloc = pick(Z.contents)
- client << "\red Illegal air datum shared by: [zloc.loc.name]"
-
-
-client/proc/TestZASRebuild()
- set category = "Debug"
-// var/turf/turf = get_turf(mob)
- var/zone/current_zone = mob.loc:zone
- if(!current_zone)
- src << "There is no zone there!"
- return
-
- var/list/current_adjacents = list()
- var/list/overlays = list()
- var/adjacent_id
- var/lowest_id
-
- var/list/identical_ids = list()
- var/list/turfs = current_zone.contents.Copy()
- var/current_identifier = 1
-
- for(var/turf/simulated/current in turfs)
- lowest_id = null
- current_adjacents = list()
-
- for(var/direction in cardinal)
- var/turf/simulated/adjacent = get_step(current, direction)
- if(!current.ZCanPass(adjacent))
- continue
- if(turfs.Find(adjacent))
- current_adjacents += adjacent
- adjacent_id = turfs[adjacent]
-
- if(adjacent_id && (!lowest_id || adjacent_id < lowest_id))
- lowest_id = adjacent_id
-
- if(!lowest_id)
- lowest_id = current_identifier++
- identical_ids += lowest_id
- overlays += image('icons/misc/debug_rebuild.dmi',, "[lowest_id]")
-
- for(var/turf/simulated/adjacent in current_adjacents)
- adjacent_id = turfs[adjacent]
- if(adjacent_id != lowest_id)
- if(adjacent_id)
- adjacent.overlays -= overlays[adjacent_id]
- identical_ids[adjacent_id] = lowest_id
-
- turfs[adjacent] = lowest_id
- adjacent.overlays += overlays[lowest_id]
-
- sleep(5)
-
- if(turfs[current])
- current.overlays -= overlays[turfs[current]]
- turfs[current] = lowest_id
- current.overlays += overlays[lowest_id]
- sleep(5)
-
- var/list/final_arrangement = list()
-
- for(var/turf/simulated/current in turfs)
- current_identifier = identical_ids[turfs[current]]
- current.overlays -= overlays[turfs[current]]
- current.overlays += overlays[current_identifier]
- sleep(5)
-
- if( current_identifier > final_arrangement.len )
- final_arrangement.len = current_identifier
- final_arrangement[current_identifier] = list(current)
-
- else
- final_arrangement[current_identifier] += current
-
- //lazy but fast
- final_arrangement.Remove(null)
-
- src << "There are [final_arrangement.len] unique segments."
-
- for(var/turf/current in turfs)
- current.overlays -= overlays
-
- return final_arrangement
-
-/client/proc/ZASSettings()
- set category = "Debug"
-
- vsc.SetDefault(mob)
\ No newline at end of file
diff --git a/code/ZAS - oldbs12/FEA_gas_mixture.dm b/code/ZAS - oldbs12/FEA_gas_mixture.dm
deleted file mode 100644
index 26df46c5812..00000000000
--- a/code/ZAS - oldbs12/FEA_gas_mixture.dm
+++ /dev/null
@@ -1,1089 +0,0 @@
-/*
-What are the archived variables for?
- Calculations are done using the archived variables with the results merged into the regular variables.
- This prevents race conditions that arise based on the order of tile processing.
-*/
-
-#define SPECIFIC_HEAT_TOXIN 200
-#define SPECIFIC_HEAT_AIR 20
-#define SPECIFIC_HEAT_CDO 30
-#define HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) \
- max(0, carbon_dioxide * SPECIFIC_HEAT_CDO + (oxygen + nitrogen) * SPECIFIC_HEAT_AIR + toxins * SPECIFIC_HEAT_TOXIN)
-
-#define MINIMUM_HEAT_CAPACITY 0.0003
-#define QUANTIZE(variable) (round(variable,0.0001))
-#define TRANSFER_FRACTION 5 //What fraction (1/#) of the air difference to try and transfer
-
-#define TEMPERATURE_ICE_FORMATION 273.15 // 273 kelvin is the freezing point of water.
-#define MIN_PRESSURE_ICE_FORMATION 10 // 10kPa should be okay
-
-
-
-/datum/gas/sleeping_agent/specific_heat = 40 //These are used for the "Trace Gases" stuff, but is buggy.
-
-/datum/gas/oxygen_agent_b/specific_heat = 300
-
-/datum/gas/volatile_fuel/specific_heat = 30
-
-/datum/gas
- var/moles = 0
-
- var/specific_heat = 0
-
- var/moles_archived = 0
-
-/datum/gas_mixture/
- var/oxygen = 0 //Holds the "moles" of each of the four gases.
- var/carbon_dioxide = 0
- var/nitrogen = 0
- var/toxins = 0
-
- var/total_moles = 0 //Updated when a reaction occurs.
-
- var/volume = CELL_VOLUME
-
- var/temperature = 0 //in Kelvin, use calculate_temperature() to modify
-
- var/group_multiplier = 1
- //Size of the group this gas_mixture is representing.
- //=1 for singletons
-
- var/graphic
-
- var/list/datum/gas/trace_gases = list() //Seemed to be a good idea that was abandoned
-
- var/tmp/oxygen_archived //These are variables for use with the archived data
- var/tmp/carbon_dioxide_archived
- var/tmp/nitrogen_archived
- var/tmp/toxins_archived
-
- var/tmp/temperature_archived
-
- var/tmp/graphic_archived = 0
- var/tmp/fuel_burnt = 0
-
- var/reacting = 0
-
-//FOR THE LOVE OF GOD PLEASE USE THIS PROC
-//Call it with negative numbers to remove gases.
-
-/datum/gas_mixture/proc/adjust(o2 = 0, co2 = 0, n2 = 0, tx = 0, list/datum/gas/traces = list())
- //Purpose: Adjusting the gases within a airmix
- //Called by: Nothing, yet!
- //Inputs: The values of the gases to adjust
- //Outputs: null
-
- oxygen = max(0, oxygen + o2)
- carbon_dioxide = max(0, carbon_dioxide + co2)
- nitrogen = max(0, nitrogen + n2)
- toxins = max(0, toxins + tx)
-
- //handle trace gasses
- for(var/datum/gas/G in traces)
- var/datum/gas/T = locate(G.type) in trace_gases
- if(T)
- T.moles = max(G.moles + T.moles, 0)
- else if(G.moles > 0)
- trace_gases |= G
- update_values()
- return
-
- //tg seems to like using these a lot
-/datum/gas_mixture/proc/return_temperature()
- return temperature
-
-
-/datum/gas_mixture/proc/return_volume()
- return max(0, volume)
-
-
-/datum/gas_mixture/proc/thermal_energy()
- return temperature*heat_capacity()
-
-///////////////////////////////
-//PV=nRT - related procedures//
-///////////////////////////////
-
-/datum/gas_mixture/proc/heat_capacity()
- //Purpose: Returning the heat capacity of the gas mix
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: Heat capacity
-
- var/heat_capacity = HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins)
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- heat_capacity += trace_gas.moles*trace_gas.specific_heat
-
- return max(MINIMUM_HEAT_CAPACITY,heat_capacity)
-
-/datum/gas_mixture/proc/heat_capacity_archived()
- //Purpose: Returning the archived heat capacity of the gas mix
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: Archived heat capacity
-
- var/heat_capacity_archived = HEAT_CAPACITY_CALCULATION(oxygen_archived,carbon_dioxide_archived,nitrogen_archived,toxins_archived)
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- heat_capacity_archived += trace_gas.moles_archived*trace_gas.specific_heat
-
- return max(MINIMUM_HEAT_CAPACITY,heat_capacity_archived)
-
-/datum/gas_mixture/proc/total_moles()
- return total_moles
- /*var/moles = oxygen + carbon_dioxide + nitrogen + toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- moles += trace_gas.moles
- return moles*/
-
-/datum/gas_mixture/proc/return_pressure()
- //Purpose: Calculating Current Pressure
- //Called by:
- //Inputs: None
- //Outputs: Gas pressure.
-
- if(volume>0)
- return total_moles()*R_IDEAL_GAS_EQUATION*temperature/volume
- return 0
-
-// proc/return_temperature()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return temperature
-
-// proc/return_volume()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return max(0, volume)
-
-// proc/thermal_energy()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return temperature*heat_capacity()
-
-/datum/gas_mixture/proc/update_values()
- //Purpose: Calculating and storing values which were normally called CONSTANTLY
- //Called by: Anything that changes values within a gas mix.
- //Inputs: None
- //Outputs: None
-
- total_moles = oxygen + carbon_dioxide + nitrogen + toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- total_moles += trace_gas.moles
-
- return
-
-////////////////////////////////////////////
-//Procedures used for very specific events//
-////////////////////////////////////////////
-
-/datum/gas_mixture/proc/check_tile_graphic()
- //Purpose: Calculating the graphic for a tile
- //Called by: Turfs updating
- //Inputs: None
- //Outputs: 1 if graphic changed, 0 if unchanged
-
- graphic = 0
-
- if(temperature <= TEMPERATURE_ICE_FORMATION && return_pressure()>MIN_PRESSURE_ICE_FORMATION)
- // If we're just forming, do a probability check. Otherwise, KEEP IT ON~
- // This ordering will hopefully keep it from sampling random noise every damn tick.
- //if(was_icy || (!was_icy && prob(25)))
- graphic = 3
-
-
- if(toxins > MOLES_PLASMA_VISIBLE)
- graphic = 1
- else if(length(trace_gases))
- var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in trace_gases
- if(sleeping_agent && (sleeping_agent.moles > 1))
- graphic = 2
- else
- graphic = 0
-
- return graphic != graphic_archived
-
-/datum/gas_mixture/proc/react(atom/dump_location)
- //Purpose: Calculating if it is possible for a fire to occur in the airmix
- //Called by: Air mixes updating?
- //Inputs: None
- //Outputs: If a fire occured
-
- //set to 1 if a notable reaction occured (used by pipe_network)
-
- zburn(null)
-
- return reacting
-
-/*
-/datum/gas_mixture/proc/fire()
- //Purpose: Calculating any fire reactions.
- //Called by: react() (See above)
- //Inputs: None
- //Outputs: How much fuel burned
-
- return zburn(null)
-
- var/energy_released = 0
- var/old_heat_capacity = heat_capacity()
-
- var/datum/gas/volatile_fuel/fuel_store = locate(/datum/gas/volatile_fuel) in trace_gases
- if(fuel_store) //General volatile gas burn
- var/burned_fuel = 0
-
- if(oxygen < fuel_store.moles)
- burned_fuel = oxygen
- fuel_store.moles -= burned_fuel
- oxygen = 0
- else
- burned_fuel = fuel_store.moles
- oxygen -= fuel_store.moles
- del(fuel_store)
-
- energy_released += FIRE_CARBON_ENERGY_RELEASED * burned_fuel
- carbon_dioxide += burned_fuel
- fuel_burnt += burned_fuel
-
- //Handle plasma burning
- if(toxins > MINIMUM_HEAT_CAPACITY)
- var/plasma_burn_rate = 0
- var/oxygen_burn_rate = 0
- //more plasma released at higher temperatures
- var/temperature_scale
- if(temperature > PLASMA_UPPER_TEMPERATURE)
- temperature_scale = 1
- else
- temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE)
- if(temperature_scale > 0)
- oxygen_burn_rate = 1.4 - temperature_scale
- if(oxygen > toxins*PLASMA_OXYGEN_FULLBURN)
- plasma_burn_rate = (toxins*temperature_scale)/4
- else
- plasma_burn_rate = (temperature_scale*(oxygen/PLASMA_OXYGEN_FULLBURN))/4
- if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY)
- toxins -= plasma_burn_rate
- oxygen -= plasma_burn_rate*oxygen_burn_rate
- carbon_dioxide += plasma_burn_rate
-
- energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate)
-
- fuel_burnt += (plasma_burn_rate)*(1+oxygen_burn_rate)
-
- if(energy_released > 0)
- var/new_heat_capacity = heat_capacity()
- if(new_heat_capacity > MINIMUM_HEAT_CAPACITY)
- temperature = (temperature*old_heat_capacity + energy_released)/new_heat_capacity
- update_values()
-
- return fuel_burnt*/
-
-//////////////////////////////////////////////
-//Procs for general gas spread calculations.//
-//////////////////////////////////////////////
-
-
-/datum/gas_mixture/proc/archive()
- //Purpose: Archives the current gas values
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: 1
-
- oxygen_archived = oxygen
- carbon_dioxide_archived = carbon_dioxide
- nitrogen_archived = nitrogen
- toxins_archived = toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- trace_gas.moles_archived = trace_gas.moles
-
- temperature_archived = temperature
-
- graphic_archived = graphic
-
- return 1
-
-/datum/gas_mixture/proc/check_then_merge(datum/gas_mixture/giver)
- //Purpose: Similar to merge(...) but first checks to see if the amount of air assumed is small enough
- // that group processing is still accurate for source (aborts if not)
- //Called by: airgroups/machinery expelling air, ?
- //Inputs: The gas to try and merge
- //Outputs: 1 on successful merge. 0 otherwise.
-
- if(!giver)
- return 0
- if(((giver.oxygen > MINIMUM_AIR_TO_SUSPEND) && (giver.oxygen >= oxygen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.carbon_dioxide > MINIMUM_AIR_TO_SUSPEND) && (giver.carbon_dioxide >= carbon_dioxide*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.nitrogen > MINIMUM_AIR_TO_SUSPEND) && (giver.nitrogen >= nitrogen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.toxins > MINIMUM_AIR_TO_SUSPEND) && (giver.toxins >= toxins*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
- if(abs(giver.temperature - temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(giver.trace_gases.len)
- for(var/datum/gas/trace_gas in giver.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if((trace_gas.moles > MINIMUM_AIR_TO_SUSPEND) && (!corresponding || (trace_gas.moles >= corresponding.moles*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
-
- return merge(giver)
-
-/datum/gas_mixture/proc/merge(datum/gas_mixture/giver)
- //Purpose: Merges all air from giver into self. Deletes giver.
- //Called by: Machinery expelling air, check_then_merge, ?
- //Inputs: The gas to merge.
- //Outputs: 1
-
- if(!giver)
- return 0
-
- if(abs(temperature-giver.temperature)>MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()*group_multiplier
- var/giver_heat_capacity = giver.heat_capacity()*giver.group_multiplier
- var/combined_heat_capacity = giver_heat_capacity + self_heat_capacity
- if(combined_heat_capacity != 0)
- temperature = (giver.temperature*giver_heat_capacity + temperature*self_heat_capacity)/combined_heat_capacity
-
- if((group_multiplier>1)||(giver.group_multiplier>1))
- oxygen += giver.oxygen*giver.group_multiplier/group_multiplier
- carbon_dioxide += giver.carbon_dioxide*giver.group_multiplier/group_multiplier
- nitrogen += giver.nitrogen*giver.group_multiplier/group_multiplier
- toxins += giver.toxins*giver.group_multiplier/group_multiplier
- else
- oxygen += giver.oxygen
- carbon_dioxide += giver.carbon_dioxide
- nitrogen += giver.nitrogen
- toxins += giver.toxins
-
- if(giver.trace_gases.len)
- for(var/datum/gas/trace_gas in giver.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(!corresponding)
- corresponding = new trace_gas.type()
- trace_gases += corresponding
- corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier
- update_values()
-
- // Let the garbage collector handle it, faster according to /tg/ testers
- //del(giver)
- return 1
-
-/datum/gas_mixture/proc/remove(amount)
- //Purpose: Removes a certain number of moles from the air.
- //Called by: ?
- //Inputs: How many moles to remove.
- //Outputs: Removed air.
-
- var/sum = total_moles()
- amount = min(amount,sum) //Can not take more air than tile has!
- if(amount <= 0)
- return null
-
- var/datum/gas_mixture/removed = new
-
-
- removed.oxygen = QUANTIZE((oxygen/sum)*amount)
- removed.nitrogen = QUANTIZE((nitrogen/sum)*amount)
- removed.carbon_dioxide = QUANTIZE((carbon_dioxide/sum)*amount)
- removed.toxins = QUANTIZE(((toxins/sum)*amount))
-
- oxygen -= removed.oxygen/group_multiplier
- nitrogen -= removed.nitrogen/group_multiplier
- carbon_dioxide -= removed.carbon_dioxide/group_multiplier
- toxins -= removed.toxins/group_multiplier
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- removed.trace_gases += corresponding
-
- corresponding.moles = ((trace_gas.moles/sum)*amount)
- trace_gas.moles -= (corresponding.moles/group_multiplier)
-
- removed.temperature = temperature
- update_values()
- removed.update_values()
-
- return removed
-
-/datum/gas_mixture/proc/remove_ratio(ratio)
- //Purpose: Removes a certain ratio of the air.
- //Called by: ?
- //Inputs: Percentage to remove.
- //Outputs: Removed air.
-
- if(ratio <= 0)
- return null
-
- ratio = min(ratio, 1)
-
- var/datum/gas_mixture/removed = new
-
- removed.oxygen = QUANTIZE(oxygen*ratio)
- removed.nitrogen = QUANTIZE(nitrogen*ratio)
- removed.carbon_dioxide = QUANTIZE(carbon_dioxide*ratio)
- removed.toxins = QUANTIZE(toxins*ratio)
-
- oxygen -= removed.oxygen/group_multiplier
- nitrogen -= removed.nitrogen/group_multiplier
- carbon_dioxide -= removed.carbon_dioxide/group_multiplier
- toxins -= removed.toxins/group_multiplier
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- removed.trace_gases += corresponding
-
- corresponding.moles = trace_gas.moles*ratio
- trace_gas.moles -= corresponding.moles/group_multiplier
-
- removed.temperature = temperature
- update_values()
- removed.update_values()
-
- return removed
-
-/datum/gas_mixture/proc/check_then_remove(amount)
- //Purpose: Similar to remove(...) but first checks to see if the amount of air removed is small enough
- // that group processing is still accurate for source (aborts if not)
- //Called by: ?
- //Inputs: Number of moles to remove
- //Outputs: Removed air or 0 if it can remove air or not.
-
- amount = min(amount,total_moles()) //Can not take more air than tile has!
-
- if((amount > MINIMUM_AIR_RATIO_TO_SUSPEND) && (amount > total_moles()*MINIMUM_AIR_RATIO_TO_SUSPEND))
- return 0
-
- return remove(amount)
-
-/datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample)
- //Purpose: Duplicates the sample air mixture.
- //Called by: airgroups splitting, ?
- //Inputs: Gas to copy
- //Outputs: 1
-
- oxygen = sample.oxygen
- carbon_dioxide = sample.carbon_dioxide
- nitrogen = sample.nitrogen
- toxins = sample.toxins
- total_moles = sample.total_moles()
-
- trace_gases.len=null
- if(sample.trace_gases.len > 0)
- for(var/datum/gas/trace_gas in sample.trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- trace_gases += corresponding
-
- corresponding.moles = trace_gas.moles
-
- temperature = sample.temperature
-
- return 1
-
-/datum/gas_mixture/proc/check_gas_mixture(datum/gas_mixture/sharer)
- //Purpose: Telling if one or both airgroups needs to disable group processing.
- //Called by: Airgroups sharing air, checking if group processing needs disabled.
- //Inputs: Gas to compare from other airgroup
- //Outputs: 0 if the self-check failed (local airgroup breaks?)
- // then -1 if sharer-check failed (sharing airgroup breaks?)
- // then 1 if both checks pass (share succesful?)
- if(!istype(sharer))
- return
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(sharer.trace_gases.len)
- for(var/datum/gas/trace_gas in sharer.trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4)
- return 0
- else
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- if(!locate(trace_gas.type) in sharer.trace_gases)
- return 0
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= sharer.oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= sharer.carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= sharer.nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= sharer.toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return -1
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases
- if(corresponding)
- if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4)
- return -1
- else
- return -1
-
- return 1
-
-/datum/gas_mixture/proc/check_turf(turf/model)
- //Purpose: Used to compare the gases in an unsimulated turf with the gas in a simulated one.
- //Called by: Sharing air (mimicing) with adjacent unsimulated turfs
- //Inputs: Unsimulated turf
- //Outputs: 1 if safe to mimic, 0 if needs to break airgroup.
-
- var/delta_oxygen = (oxygen_archived - model.oxygen)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = (carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION
- var/delta_nitrogen = (nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION
- var/delta_toxins = (toxins_archived - model.toxins)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - model.temperature)
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- return 0
-
- return 1
-
-/datum/gas_mixture/proc/share(datum/gas_mixture/sharer)
- //Purpose: Used to transfer gas from a more pressurised tile to a less presurised tile
- // (Two directional, if the other tile is more pressurised, air travels to current tile)
- //Called by: Sharing air with adjacent simulated turfs
- //Inputs: Air datum to share with
- //Outputs: Amount of gas exchanged (Negative if lost air, positive if gained.)
-
-
- if(!istype(sharer))
- return
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/old_self_heat_capacity = 0
- var/old_sharer_heat_capacity = 0
-
- var/heat_self_to_sharer = 0
- var/heat_capacity_self_to_sharer = 0
- var/heat_sharer_to_self = 0
- var/heat_capacity_sharer_to_self = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
-
- var/delta_air = delta_oxygen+delta_nitrogen
- if(delta_air)
- var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air
- if(delta_air > 0)
- heat_self_to_sharer += air_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += air_heat_capacity
- else
- heat_sharer_to_self -= air_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= air_heat_capacity
-
- if(delta_carbon_dioxide)
- var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide
- if(delta_carbon_dioxide > 0)
- heat_self_to_sharer += carbon_dioxide_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += carbon_dioxide_heat_capacity
- else
- heat_sharer_to_self -= carbon_dioxide_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= carbon_dioxide_heat_capacity
-
- if(delta_toxins)
- var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins
- if(delta_toxins > 0)
- heat_self_to_sharer += toxins_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += toxins_heat_capacity
- else
- heat_sharer_to_self -= toxins_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= toxins_heat_capacity
-
- old_self_heat_capacity = heat_capacity()*group_multiplier
- old_sharer_heat_capacity = sharer.heat_capacity()*sharer.group_multiplier
-
- oxygen -= delta_oxygen/group_multiplier
- sharer.oxygen += delta_oxygen/sharer.group_multiplier
-
- carbon_dioxide -= delta_carbon_dioxide/group_multiplier
- sharer.carbon_dioxide += delta_carbon_dioxide/sharer.group_multiplier
-
- nitrogen -= delta_nitrogen/group_multiplier
- sharer.nitrogen += delta_nitrogen/sharer.group_multiplier
-
- toxins -= delta_toxins/group_multiplier
- sharer.toxins += delta_toxins/sharer.group_multiplier
-
- var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins)
-
- var/list/trace_types_considered = list()
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
-
- var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases
- var/delta = 0
-
- if(corresponding)
- delta = QUANTIZE(trace_gas.moles_archived - corresponding.moles_archived)/TRANSFER_FRACTION
- else
- corresponding = new trace_gas.type()
- sharer.trace_gases += corresponding
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- trace_gas.moles -= delta/group_multiplier
- corresponding.moles += delta/sharer.group_multiplier
-
- if(delta)
- var/individual_heat_capacity = trace_gas.specific_heat*delta
- if(delta > 0)
- heat_self_to_sharer += individual_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += individual_heat_capacity
- else
- heat_sharer_to_self -= individual_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= individual_heat_capacity
-
- moved_moles += delta
-
- trace_types_considered += trace_gas.type
-
-
- if(sharer.trace_gases.len)
- for(var/datum/gas/trace_gas in sharer.trace_gases)
- if(trace_gas.type in trace_types_considered) continue
- else
- var/datum/gas/corresponding
- var/delta = 0
-
- corresponding = new trace_gas.type()
- trace_gases += corresponding
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- trace_gas.moles -= delta/sharer.group_multiplier
- corresponding.moles += delta/group_multiplier
-
- //Guaranteed transfer from sharer to self
- var/individual_heat_capacity = trace_gas.specific_heat*delta
- heat_sharer_to_self += individual_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self += individual_heat_capacity
-
- moved_moles += -delta
- update_values()
- sharer.update_values()
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/new_self_heat_capacity = old_self_heat_capacity + heat_capacity_sharer_to_self - heat_capacity_self_to_sharer
- var/new_sharer_heat_capacity = old_sharer_heat_capacity + heat_capacity_self_to_sharer - heat_capacity_sharer_to_self
-
- if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY)
- temperature = (old_self_heat_capacity*temperature - heat_capacity_self_to_sharer*temperature_archived + heat_capacity_sharer_to_self*sharer.temperature_archived)/new_self_heat_capacity
-
- if(new_sharer_heat_capacity > MINIMUM_HEAT_CAPACITY)
- sharer.temperature = (old_sharer_heat_capacity*sharer.temperature-heat_capacity_sharer_to_self*sharer.temperature_archived + heat_capacity_self_to_sharer*temperature_archived)/new_sharer_heat_capacity
-
- if(abs(old_sharer_heat_capacity) > MINIMUM_HEAT_CAPACITY)
- if(abs(new_sharer_heat_capacity/old_sharer_heat_capacity - 1) < 0.10) // <10% change in sharer heat capacity
- temperature_share(sharer, OPEN_HEAT_TRANSFER_COEFFICIENT)
-
- if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE)
- var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - sharer.temperature_archived*(sharer.total_moles() - moved_moles)
- return delta_pressure*R_IDEAL_GAS_EQUATION/volume
-
- else
- return 0
-
-/datum/gas_mixture/proc/mimic(turf/model, border_multiplier)
- //Purpose: Used transfer gas from a more pressurised tile to a less presurised unsimulated tile.
- //Called by: "sharing" from unsimulated to simulated turfs.
- //Inputs: Unsimulated turf, Multiplier for gas transfer (optional)
- //Outputs: Amount of gas exchanged
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - model.oxygen)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - model.toxins)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - model.temperature)
-
- var/heat_transferred = 0
- var/old_self_heat_capacity = 0
- var/heat_capacity_transferred = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
-
- var/delta_air = delta_oxygen+delta_nitrogen
- if(delta_air)
- var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air
- heat_transferred -= air_heat_capacity*model.temperature
- heat_capacity_transferred -= air_heat_capacity
-
- if(delta_carbon_dioxide)
- var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide
- heat_transferred -= carbon_dioxide_heat_capacity*model.temperature
- heat_capacity_transferred -= carbon_dioxide_heat_capacity
-
- if(delta_toxins)
- var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins
- heat_transferred -= toxins_heat_capacity*model.temperature
- heat_capacity_transferred -= toxins_heat_capacity
-
- old_self_heat_capacity = heat_capacity()*group_multiplier
-
- if(border_multiplier)
- oxygen -= delta_oxygen*border_multiplier/group_multiplier
- carbon_dioxide -= delta_carbon_dioxide*border_multiplier/group_multiplier
- nitrogen -= delta_nitrogen*border_multiplier/group_multiplier
- toxins -= delta_toxins*border_multiplier/group_multiplier
- else
- oxygen -= delta_oxygen/group_multiplier
- carbon_dioxide -= delta_carbon_dioxide/group_multiplier
- nitrogen -= delta_nitrogen/group_multiplier
- toxins -= delta_toxins/group_multiplier
-
- var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins)
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/delta = 0
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- if(border_multiplier)
- trace_gas.moles -= delta*border_multiplier/group_multiplier
- else
- trace_gas.moles -= delta/group_multiplier
-
- var/heat_cap_transferred = delta*trace_gas.specific_heat
- heat_transferred += heat_cap_transferred*temperature_archived
- heat_capacity_transferred += heat_cap_transferred
- moved_moles += delta
- update_values()
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/new_self_heat_capacity = old_self_heat_capacity - heat_capacity_transferred
- if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY)
- if(border_multiplier)
- temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity
- else
- temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity
-
- temperature_mimic(model, model.thermal_conductivity, border_multiplier)
-
- if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE)
- var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - model.temperature*(model.oxygen+model.carbon_dioxide+model.nitrogen+model.toxins)
- return delta_pressure*R_IDEAL_GAS_EQUATION/volume
- else
- return 0
-
-/datum/gas_mixture/proc/check_both_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier)
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- if((abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*sharer.temperature_archived))
- return -1
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier)
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_turf_share(turf/simulated/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature)
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
-
- if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/sharer.heat_capacity
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_turf_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_mimic(turf/model, conduction_coefficient)
- var/delta_temperature = (temperature_archived - model.temperature)
- var/self_temperature_delta = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
-
- if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
-
- return 1
- //Logic integrated from: temperature_mimic(model, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
- if(!group_multiplier)
- message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!")
- return
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- temperature -= heat/(self_heat_capacity*group_multiplier)
- sharer.temperature += heat/(sharer_heat_capacity*sharer.group_multiplier)
-
-/datum/gas_mixture/proc/temperature_mimic(turf/model, conduction_coefficient, border_multiplier)
- var/delta_temperature = (temperature - model.temperature)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()//_archived()
- if(!group_multiplier)
- message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!")
- return
-
- if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity))
-
- if(border_multiplier)
- temperature -= heat*border_multiplier/(self_heat_capacity*group_multiplier)
- else
- temperature -= heat/(self_heat_capacity*group_multiplier)
-
-/datum/gas_mixture/proc/temperature_turf_share(turf/simulated/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()
-
- if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity))
-
- temperature -= heat/(self_heat_capacity*group_multiplier)
- sharer.temperature += heat/sharer.heat_capacity
-
-/datum/gas_mixture/proc/compare(datum/gas_mixture/sample)
- //Purpose: Compares sample to self to see if within acceptable ranges that group processing may be enabled
- //Called by: Airgroups trying to rebuild
- //Inputs: Gas mix to compare
- //Outputs: 1 if can rebuild, 0 if not.
- if(!sample) return 0
-
-
- if((abs(oxygen-sample.oxygen) > MINIMUM_AIR_TO_SUSPEND) && \
- ((oxygen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen)))
- return 0
- if((abs(nitrogen-sample.nitrogen) > MINIMUM_AIR_TO_SUSPEND) && \
- ((nitrogen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen) || (nitrogen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen)))
- return 0
- if((abs(carbon_dioxide-sample.carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && \
- ((carbon_dioxide < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide) || (carbon_dioxide > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide)))
- return 0
- if((abs(toxins-sample.toxins) > MINIMUM_AIR_TO_SUSPEND) && \
- ((toxins < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins) || (toxins > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins)))
- return 0
-
-
- if(total_moles() > MINIMUM_AIR_TO_SUSPEND)
- if((abs(temperature-sample.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) && \
- ((temperature < (1-MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature) || (temperature > (1+MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature)))
- //world << "temp fail [temperature] & [sample.temperature]"
- return 0
- var/check_moles
- if(sample.trace_gases.len)
- for(var/datum/gas/trace_gas in sample.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- check_moles = corresponding.moles
- else
- check_moles = 0
-
- if((abs(trace_gas.moles - check_moles) > MINIMUM_AIR_TO_SUSPEND) && \
- ((check_moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles) || (check_moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles)))
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- check_moles = corresponding.moles
- else
- check_moles = 0
-
- if((abs(trace_gas.moles - check_moles) > MINIMUM_AIR_TO_SUSPEND) && \
- ((trace_gas.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*check_moles) || (trace_gas.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*check_moles)))
- return 0
-
- return 1
-
-/datum/gas_mixture/proc/add(datum/gas_mixture/right_side)
- oxygen += right_side.oxygen
- carbon_dioxide += right_side.carbon_dioxide
- nitrogen += right_side.nitrogen
- toxins += right_side.toxins
-
- if(trace_gases.len || right_side.trace_gases.len)
- for(var/datum/gas/trace_gas in right_side.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(!corresponding)
- corresponding = new trace_gas.type()
- trace_gases += corresponding
- corresponding.moles += trace_gas.moles
-
- update_values()
- return 1
-
-/datum/gas_mixture/proc/subtract(datum/gas_mixture/right_side)
- //Purpose: Subtracts right_side from air_mixture. Used to help turfs mingle
- //Called by: Pipelines ending in a break (or something)
- //Inputs: Gas mix to remove
- //Outputs: 1
-
- oxygen = max(oxygen - right_side.oxygen)
- carbon_dioxide = max(carbon_dioxide - right_side.carbon_dioxide)
- nitrogen = max(nitrogen - right_side.nitrogen)
- toxins = max(toxins - right_side.toxins)
-
- if(trace_gases.len || right_side.trace_gases.len)
- for(var/datum/gas/trace_gas in right_side.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- corresponding.moles = max(0, corresponding.moles - trace_gas.moles)
-
- update_values()
- return 1
-
-/datum/gas_mixture/proc/multiply(factor)
- oxygen *= factor
- carbon_dioxide *= factor
- nitrogen *= factor
- toxins *= factor
-
- if(trace_gases && trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- trace_gas.moles *= factor
-
- update_values()
- return 1
-
-/datum/gas_mixture/proc/divide(factor)
- oxygen /= factor
- carbon_dioxide /= factor
- nitrogen /= factor
- toxins /= factor
-
- if(trace_gases && trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- trace_gas.moles /= factor
-
- update_values()
- return 1
diff --git a/code/ZAS - oldbs12/FEA_system.dm b/code/ZAS - oldbs12/FEA_system.dm
deleted file mode 100644
index ecc4ff37f36..00000000000
--- a/code/ZAS - oldbs12/FEA_system.dm
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
-Overview:
- The air_master global variable is the workhorse for the system.
-
-Why are you archiving data before modifying it?
- The general concept with archiving data and having each tile keep track of when they were last updated is to keep everything symmetric
- and totally independent of the order they are read in an update cycle.
- This prevents abnormalities like air/fire spreading rapidly in one direction and super slowly in the other.
-
-Why not just archive everything and then calculate?
- Efficiency. While a for-loop that goes through all tils and groups to archive their information before doing any calculations seems simple, it is
- slightly less efficient than the archive-before-modify/read method.
-
-Why is there a cycle check for calculating data as well?
- This ensures that every connection between group-tile, tile-tile, and group-group is only evaluated once per loop.
-
-
-
-
-Important variables:
- air_master.groups_to_rebuild (list)
- A list of air groups that have had their geometry occluded and thus may need to be split in half.
- A set of adjacent groups put in here will join together if validly connected.
- This is done before air system calculations for a cycle.
- air_master.tiles_to_update (list)
- Turfs that are in this list have their border data updated before the next air calculations for a cycle.
- Place turfs in this list rather than call the proc directly to prevent race conditions
-
- turf/simulated.archive() and datum/air_group.archive()
- This stores all data for.
- If you modify, make sure to update the archived_cycle to prevent race conditions and maintain symmetry
-
- atom/CanPass(atom/movable/mover, turf/target, height, air_group)
- returns 1 for allow pass and 0 for deny pass
- Turfs automatically call this for all objects/mobs in its turf.
- This is called both as source.CanPass(target, height, air_group)
- and target.CanPass(source, height, air_group)
-
- Cases for the parameters
- 1. This is called with args (mover, location, height>0, air_group=0) for normal objects.
- 2. This is called with args (null, location, height=0, air_group=0) for flowing air.
- 3. This is called with args (null, location, height=?, air_group=1) for determining group boundaries.
-
- Cases 2 and 3 would be different for doors or other objects open and close fairly often.
- (Case 3 would return 0 always while Case 2 would return 0 only when the door is open)
- This prevents the necessity of re-evaluating group geometry every time a door opens/closes.
-
-
-Important Procedures
- air_master.process()
- This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations
-
-*/
-
-var/tick_multiplier = 2
-
-atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
- //Purpose: Determines if the object (or airflow) can pass this atom.
- //Called by: Movement, airflow.
- //Inputs: The moving atom (optional), target turf, "height" and air group
- //Outputs: Boolean if can pass.
-
- return (!density || !height || air_group)
-
-/turf/CanPass(atom/movable/mover, turf/target, height=1.5,air_group=0)
- if(!target) return 0
-
- if(istype(mover)) // turf/Enter(...) will perform more advanced checks
- return !density
-
- else // Now, doing more detailed checks for air movement and air group formation
- if(target.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(!obstacle.CanPass(mover, target, height, air_group))
- return 0
- if(target != src)
- for(var/obj/obstacle in target)
- if(!obstacle.CanPass(mover, src, height, air_group))
- return 0
-
- return 1
-
-
-var/datum/controller/air_system/air_master
-
-/datum/controller/air_system
- //Geometry lists
- var/list/turfs_with_connections = list()
- var/list/active_hotspots = list()
-
- //Special functions lists
- var/reconsidering_zones = FALSE
- var/list/tiles_to_reconsider_zones = list()
- var/list/tiles_to_reconsider_alternate
-
- //Geometry updates lists
- var/updating_tiles = FALSE
- var/list/tiles_to_update = list()
- var/list/tiles_to_update_alternate
-
- var/checking_connections = FALSE
- var/list/connections_to_check = list()
- var/list/connections_to_check_alternate
-
- var/list/potential_intrazone_connections = list()
-
- //Zone lists
- var/list/active_zones = list()
- var/list/zones_needing_rebuilt = list()
- var/list/zones = list()
-
-
- var/current_cycle = 0
- var/update_delay = 5 //How long between check should it try to process atmos again.
- var/failed_ticks = 0 //How many ticks have runtimed?
-
- var/tick_progress = 0
-
-
-/datum/controller/air_system/proc/Setup()
- //Purpose: Call this at the start to setup air groups geometry
- // (Warning: Very processor intensive but only must be done once per round)
- //Called by: Gameticker/Master controller
- //Inputs: None.
- //Outputs: None.
-
- //set background = 1
- world << "\red \b Processing Geometry..."
- sleep(-1)
-
- var/start_time = world.timeofday
-
- var/simulated_turf_count = 0
-
- for(var/turf/simulated/S in world)
- simulated_turf_count++
- if(!S.zone && !S.blocks_air)
- if(S.CanPass(null, S, 0, 0))
- new/zone(S)
-
- for(var/turf/simulated/S in world)
- S.update_air_properties()
-
- world << {"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.
-Total Simulated Turfs: [simulated_turf_count]
-Total Zones: [zones.len]
-Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]"}
-
-// spawn Start()
-
-
-/datum/controller/air_system/proc/Start()
- //Purpose: This is kicked off by the master controller, and controls the processing of all atmosphere.
- //Called by: Master controller
- //Inputs: None.
- //Outputs: None.
-
-
- //set background = 1
-
- while(1)
- if(!air_processing_killed)
- var/success = Tick() //Changed so that a runtime does not crash the ticker.
- if(!success) //Runtimed.
- failed_ticks++
- if(failed_ticks > 20)
- world << "ERROR IN ATMOS TICKER. Killing air simulation!"
- air_processing_killed = 1
- sleep(max(5,update_delay*tick_multiplier))
-
-
-/datum/controller/air_system/proc/Tick()
- . = 1 //Set the default return value, for runtime detection.
-
- current_cycle++
-
- //If there are tiles to update, do so.
- tick_progress = "updating turf properties"
- if(tiles_to_update.len)
- updating_tiles = TRUE
-
- for(var/turf/simulated/T in tiles_to_update)
- if(. && T && !T.update_air_properties())
- //If a runtime occured, make sure we can sense it.
- . = 0
-
- updating_tiles = FALSE
-
- if(.)
- if(tiles_to_update_alternate)
- tiles_to_update = tiles_to_update_alternate
- tiles_to_update_alternate = null
- else
- tiles_to_update = list()
-
- else if(tiles_to_update_alternate)
- tiles_to_update |= tiles_to_update_alternate
- tiles_to_update_alternate = null
-
- //Rebuild zones.
- if(.)
- tick_progress = "rebuilding zones"
- if(zones_needing_rebuilt.len)
- for(var/zone/zone in zones_needing_rebuilt)
- zone.Rebuild()
-
- zones_needing_rebuilt = list()
-
- //Check sanity on connection objects.
- if(.)
- tick_progress = "checking/creating connections"
- if(connections_to_check.len)
- checking_connections = TRUE
-
- for(var/connection/C in connections_to_check)
- C.Cleanup()
-
- for(var/turf/simulated/turf_1 in potential_intrazone_connections)
- for(var/turf/simulated/turf_2 in potential_intrazone_connections[turf_1])
-
- if(!turf_1.zone || !turf_2.zone)
- continue
-
- if(turf_1.zone == turf_2.zone)
- continue
-
- var/should_skip = FALSE
- if(turf_1 in air_master.turfs_with_connections)
-
- for(var/connection/C in turfs_with_connections[turf_1])
- if(C.B == turf_2 || C.A == turf_2)
- should_skip = TRUE
- break
- if(should_skip)
- continue
-
- new /connection(turf_1, turf_2)
-
- checking_connections = FALSE
-
- potential_intrazone_connections = list()
-
- if(connections_to_check_alternate)
- connections_to_check = connections_to_check_alternate
- connections_to_check_alternate = null
- else
- connections_to_check = list()
-
- //Process zones.
- if(.)
- tick_progress = "processing zones"
- for(var/zone/Z in active_zones)
- if(Z.last_update < current_cycle)
- var/output = Z.process()
- if(Z)
- Z.last_update = current_cycle
- if(. && Z && !output)
- . = 0
-
- //Ensure tiles still have zones.
- if(.)
- tick_progress = "reconsidering zones on turfs"
- if(tiles_to_reconsider_zones.len)
- reconsidering_zones = TRUE
-
- for(var/turf/simulated/T in tiles_to_reconsider_zones)
- if(!T.zone)
- new /zone(T)
-
- reconsidering_zones = FALSE
-
- if(tiles_to_reconsider_alternate)
- tiles_to_reconsider_zones = tiles_to_reconsider_alternate
- tiles_to_reconsider_alternate = null
- else
- tiles_to_reconsider_zones = list()
-
- //Process fires.
- if(.)
- tick_progress = "processing fire"
- for(var/obj/fire/F in active_hotspots)
- if(. && F && !F.process())
- . = 0
-
- if(.)
- tick_progress = "success"
-
-
-/datum/controller/air_system/proc/AddTurfToUpdate(turf/simulated/outdated_turf)
- var/list/tiles_to_check = list()
-
- if(istype(outdated_turf))
- tiles_to_check |= outdated_turf
-
- if(istype(outdated_turf, /turf))
- for(var/direction in cardinal)
- var/turf/simulated/adjacent_turf = get_step(outdated_turf, direction)
- if(istype(adjacent_turf))
- tiles_to_check |= adjacent_turf
-
- if(updating_tiles)
- if(!tiles_to_update_alternate)
- tiles_to_update_alternate = tiles_to_check
- else
- tiles_to_update_alternate |= tiles_to_check
- else
- tiles_to_update |= tiles_to_check
-
-
-/datum/controller/air_system/proc/AddConnectionToCheck(connection/connection)
- if(checking_connections)
- if(istype(connection, /list))
- if(!connections_to_check_alternate)
- connections_to_check_alternate = connection
-
- else if(!connections_to_check_alternate)
- connections_to_check_alternate = list()
-
- connections_to_check_alternate |= connection
-
- else
- connections_to_check |= connection
-
-
-/datum/controller/air_system/proc/ReconsiderTileZone(var/turf/simulated/zoneless_turf)
- if(zoneless_turf.zone)
- return
-
- if(reconsidering_zones)
- if(!tiles_to_reconsider_alternate)
- tiles_to_reconsider_alternate = list()
-
- tiles_to_reconsider_alternate |= zoneless_turf
-
- else
- tiles_to_reconsider_zones |= zoneless_turf
-
-
-/datum/controller/air_system/proc/AddIntrazoneConnection(var/turf/simulated/A, var/turf/simulated/B)
- if(!istype(A) || !istype(B))
- return
-
- if(A in potential_intrazone_connections)
- if(B in potential_intrazone_connections[A])
- return
-
- if (B in potential_intrazone_connections)
- if(A in potential_intrazone_connections[B])
- return
-
- potential_intrazone_connections[B] += A
-
- else
- potential_intrazone_connections[B] = list(A)
diff --git a/code/ZAS - oldbs12/Fire.dm b/code/ZAS - oldbs12/Fire.dm
deleted file mode 100644
index b79d7f8b553..00000000000
--- a/code/ZAS - oldbs12/Fire.dm
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
-
-Making Bombs with ZAS:
-Make burny fire with lots of burning
-Draw off 5000K gas from burny fire
-Separate gas into oxygen and plasma components
-Obtain plasma and oxygen tanks filled up about 50-75% with normal-temp gas
-Fill rest with super hot gas from separated canisters, they should be about 125C now.
-Attach to transfer valve and open. BOOM.
-
-*/
-
-
-//Some legacy definitions so fires can be started.
-atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
- return null
-
-
-turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
-
-
-turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh)
- if(fire_protection > world.time-300)
- return 0
- if(locate(/obj/fire) in src)
- return 1
- var/datum/gas_mixture/air_contents = return_air()
- if(!air_contents || exposed_temperature < PLASMA_MINIMUM_BURN_TEMPERATURE)
- return 0
-
- var/obj/structure/reagent_dispensers/fueltank/FT = locate() in src
- if(exposed_temperature >= AUTOIGNITION_WELDERFUEL)
- if (FT)
- FT.explode()
- return 1
-
- var/igniting = 0
- var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src
-
- if(air_contents.check_combustability(liquid))
- igniting = 1
-
- if(! (locate(/obj/fire) in src))
-
- new /obj/fire(src,1000)
-
- return igniting
-
-/obj/fire
- //Icon for fire on turfs.
-
- anchored = 1
- mouse_opacity = 0
-
- //luminosity = 3
-
- icon = 'icons/effects/fire.dmi'
- icon_state = "1"
-
- layer = TURF_LAYER
-
- var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel()
-
-/obj/fire/process()
- . = 1
-
- //get location and check if it is in a proper ZAS zone
- var/turf/simulated/S = loc
-
- if(!istype(S))
- del src
-
- if(!S.zone)
- del src
-
- var/datum/gas_mixture/air_contents = S.return_air()
- //get liquid fuels on the ground.
- var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S
- //and the volatile stuff from the air
- var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases
-
- //since the air is processed in fractions, we need to make sure not to have any minuscle residue or
- //the amount of moles might get to low for some functions to catch them and thus result in wonky behaviour
- if(air_contents.oxygen < 0.001)
- air_contents.oxygen = 0
- if(air_contents.toxins < 0.001)
- air_contents.toxins = 0
- if(fuel)
- if(fuel.moles < 0.001)
- air_contents.trace_gases.Remove(fuel)
-
- //check if there is something to combust
- if(!air_contents.check_recombustability(liquid))
- //del src
- RemoveFire()
-
- //get a firelevel and set the icon
- firelevel = air_contents.calculate_firelevel(liquid)
-
- if(firelevel > 6)
- icon_state = "3"
- SetLuminosity(7)
- else if(firelevel > 2.5)
- icon_state = "2"
- SetLuminosity(5)
- else
- icon_state = "1"
- SetLuminosity(3)
-
- //im not sure how to implement a version that works for every creature so for now monkeys are firesafe
- for(var/mob/living/carbon/human/M in loc)
- M.FireBurn(firelevel, air_contents.temperature, air_contents.return_pressure() ) //Burn the humans!
- for(var/atom/A in loc)
- A.fire_act(air_contents, air_contents.temperature, air_contents.return_volume())
- //spread
- for(var/direction in cardinal)
- if(S.air_check_directions&direction) //Grab all valid bordering tiles
-
- var/turf/simulated/enemy_tile = get_step(S, direction)
-
- if(istype(enemy_tile))
- var/datum/gas_mixture/acs = enemy_tile.return_air()
- var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile
- if(!acs) continue
- if(!acs.check_recombustability(liq)) continue
- //If extinguisher mist passed over the turf it's trying to spread to, don't spread and
- //reduce firelevel.
- if(enemy_tile.fire_protection > world.time-30)
- firelevel -= 1.5
- continue
-
- //Spread the fire.
- if(!(locate(/obj/fire) in enemy_tile))
- if( prob( 50 + 50 * (firelevel/vsc.fire_firelevel_multiplier) ) && S.CanPass(null, enemy_tile, 0,0) && enemy_tile.CanPass(null, S, 0,0))
- new/obj/fire(enemy_tile,firelevel)
-
- //seperate part of the present gas
- //this is done to prevent the fire burning all gases in a single pass
- var/datum/gas_mixture/flow = air_contents.remove_ratio(vsc.fire_consuption_rate)
-///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR ///////////////////////////////////////////////
-
- if(flow)
-
- if(flow.check_recombustability(liquid))
- //Ensure flow temperature is higher than minimum fire temperatures.
- //this creates some energy ex nihilo but is necessary to get a fire started
- //lets just pretend this energy comes from the ignition source and dont mention this again
- //flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature)
-
- //burn baby burn!
-
- flow.zburn(liquid,1)
- //merge the air back
- S.assume_air(flow)
-
-///////////////////////////////// FLOW HAS BEEN REMERGED /// feel free to delete the fire again from here on //////////////////////////////////////////////////////////////////
-
-
-/obj/fire/New(newLoc,fl)
- ..()
-
- if(!istype(loc, /turf))
- del src
-
- dir = pick(cardinal)
- SetLuminosity(3)
- firelevel = fl
- air_master.active_hotspots.Add(src)
-
-
-/obj/fire/Destroy()
- if (istype(loc, /turf/simulated))
- SetLuminosity(0)
-
- loc = null
- air_master.active_hotspots.Remove(src)
-
- ..()
-
-/obj/fire/proc/RemoveFire()
- if (istype(loc, /turf/simulated))
- SetLuminosity(0)
- loc = null
- air_master.active_hotspots.Remove(src)
-
-
-
-turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again.
-turf/proc/apply_fire_protection()
-turf/simulated/apply_fire_protection()
- fire_protection = world.time
-
-
-datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid, force_burn)
- var/value = 0
-
- if((temperature > PLASMA_MINIMUM_BURN_TEMPERATURE || force_burn) && check_recombustability(liquid))
- var/total_fuel = 0
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
-
- total_fuel += toxins
-
- if(fuel)
- //Volatile Fuel
- total_fuel += fuel.moles
-
- if(liquid)
- //Liquid Fuel
- if(liquid.amount <= 0)
- del liquid
- else
- total_fuel += liquid.amount
-
- //Calculate the firelevel.
- var/firelevel = calculate_firelevel(liquid)
-
- //get the current inner energy of the gas mix
- //this must be taken here to prevent the addition or deletion of energy by a changing heat capacity
- var/starting_energy = temperature * heat_capacity()
-
- //determine the amount of oxygen used
- var/total_oxygen = min(oxygen, 2 * total_fuel)
-
- //determine the amount of fuel actually used
- var/used_fuel_ratio = min(oxygen / 2 , total_fuel) / total_fuel
- total_fuel = total_fuel * used_fuel_ratio
-
- var/total_reactants = total_fuel + total_oxygen
-
- //determine the amount of reactants actually reacting
- var/used_reactants_ratio = min( max(total_reactants * firelevel / vsc.fire_firelevel_multiplier, 0.2), total_reactants) / total_reactants
-
- //remove and add gasses as calculated
- oxygen -= min(oxygen, total_oxygen * used_reactants_ratio )
-
- toxins -= min(toxins, (toxins * used_fuel_ratio * used_reactants_ratio ) * 3)
- if(toxins < 0)
- toxins = 0
-
- carbon_dioxide += max(2 * total_fuel, 0)
-
- if(fuel)
- fuel.moles -= (fuel.moles * used_fuel_ratio * used_reactants_ratio) * 5 //Fuel burns 5 times as quick
- if(fuel.moles <= 0) del fuel
-
- if(liquid)
- liquid.amount -= (liquid.amount * used_fuel_ratio * used_reactants_ratio) * 5 // liquid fuel burns 5 times as quick
-
- if(liquid.amount <= 0) del liquid
-
- //calculate the energy produced by the reaction and then set the new temperature of the mix
- temperature = (starting_energy + vsc.fire_fuel_energy_release * total_fuel) / heat_capacity()
-
- update_values()
- value = total_reactants * used_reactants_ratio
- return value
-
-datum/gas_mixture/proc/check_recombustability(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //this is a copy proc to continue a fire after its been started.
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
-
- if(oxygen && (toxins || fuel || liquid))
- if(liquid)
- return 1
- if (toxins)
- return 1
- if(fuel)
- return 1
-
- return 0
-
-datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //this check comes up very often and is thus centralized here to ease adding stuff
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
-
- if(oxygen && (toxins || fuel || liquid))
- if(liquid)
- return 1
- if (toxins >= 0.7)
- return 1
- if(fuel && fuel.moles >= 1.4)
- return 1
-
- return 0
-
-datum/gas_mixture/proc/calculate_firelevel(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //Calculates the firelevel based on one equation instead of having to do this multiple times in different areas.
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
- var/total_fuel = 0
- var/firelevel = 0
-
- if(check_recombustability(liquid))
-
- total_fuel += toxins
-
- if(liquid)
- total_fuel += liquid.amount
-
- if(fuel)
- total_fuel += fuel.moles
-
- var/total_combustables = (total_fuel + oxygen)
-
- if(total_fuel > 0 && oxygen > 0)
-
- //slows down the burning when the concentration of the reactants is low
- var/dampening_multiplier = total_combustables / (total_combustables + nitrogen + carbon_dioxide)
- //calculates how close the mixture of the reactants is to the optimum
- var/mix_multiplier = 1 / (1 + (5 * ((oxygen / total_combustables) ** 2)))
- //toss everything together
- firelevel = vsc.fire_firelevel_multiplier * mix_multiplier * dampening_multiplier
-
- return max( 0, firelevel)
-
-
-/mob/living/proc/FireBurn(var/firelevel, var/last_temperature, var/pressure)
- var/mx = 5 * firelevel/vsc.fire_firelevel_multiplier * min(pressure / ONE_ATMOSPHERE, 1)
- apply_damage(2.5*mx, BURN)
-
-
-/mob/living/carbon/human/FireBurn(var/firelevel, var/last_temperature, var/pressure)
- //Burns mobs due to fire. Respects heat transfer coefficients on various body parts.
- //Due to TG reworking how fireprotection works, this is kinda less meaningful.
-
- var/head_exposure = 1
- var/chest_exposure = 1
- var/groin_exposure = 1
- var/legs_exposure = 1
- var/arms_exposure = 1
-
- //Get heat transfer coefficients for clothing.
-
- for(var/obj/item/clothing/C in src)
- if(l_hand == C || r_hand == C)
- continue
-
- if( C.max_heat_protection_temperature >= last_temperature )
- if(C.body_parts_covered & HEAD)
- head_exposure = 0
- if(C.body_parts_covered & UPPER_TORSO)
- chest_exposure = 0
- if(C.body_parts_covered & LOWER_TORSO)
- groin_exposure = 0
- if(C.body_parts_covered & LEGS)
- legs_exposure = 0
- if(C.body_parts_covered & ARMS)
- arms_exposure = 0
- //minimize this for low-pressure enviroments
- var/mx = 5 * firelevel/vsc.fire_firelevel_multiplier * min(pressure / ONE_ATMOSPHERE, 1)
-
- //Always check these damage procs first if fire damage isn't working. They're probably what's wrong.
-
- apply_damage(2.5*mx*head_exposure, BURN, "head", 0, 0, "Fire")
- apply_damage(2.5*mx*chest_exposure, BURN, "chest", 0, 0, "Fire")
- apply_damage(2.0*mx*groin_exposure, BURN, "groin", 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, "l_leg", 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, "r_leg", 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, "l_arm", 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, "r_arm", 0, 0, "Fire")
diff --git a/code/ZAS - oldbs12/Functions.dm b/code/ZAS - oldbs12/Functions.dm
deleted file mode 100644
index 3037e13f412..00000000000
--- a/code/ZAS - oldbs12/Functions.dm
+++ /dev/null
@@ -1,172 +0,0 @@
-//Global Functions
-//Contents: FloodFill, ZMerge, ZConnect
-
-//Floods outward from an initial turf to fill everywhere it's zone would reach.
-proc/FloodFill(turf/simulated/start)
-
- if(!istype(start))
- return list()
-
- //The list of tiles waiting to be evaulated.
- var/list/open = list(start)
- //The list of tiles which have been evaulated.
- var/list/closed = list()
-
- //Loop through the turfs in the open list in order to find which adjacent turfs should be added to the zone.
- while(open.len)
- var/turf/simulated/T = pick(open)
-
- //sanity!
- if(!istype(T))
- open -= T
- continue
-
- //Check all cardinal directions
- for(var/d in cardinal)
- var/turf/simulated/O = get_step(T,d)
-
- //Ensure the turf is of proper type, that it is not in either list, and that air can reach it.
- if(istype(O) && !(O in open) && !(O in closed) && O.ZCanPass(T))
-
- //Handle connections from a tile with a door.
- if(T.HasDoor())
- //If they both have doors, then they are not able to connect period.
- if(O.HasDoor())
- continue
-
- //Connect first to north and west
- if(d == NORTH || d == WEST)
- open += O
-
- //If that fails, and north/west cannot be connected to, see if west or south can be connected instead.
- else
- var/turf/simulated/W = get_step(O, WEST)
- var/turf/simulated/N = get_step(O, NORTH)
-
- if( !O.ZCanPass(N) && !O.ZCanPass(W) )
- //If it cannot connect either to the north or west, connect it!
- open += O
-
- //If no doors are involved, add it immediately.
- else if(!O.HasDoor())
- open += O
-
- //Handle connecting to a tile with a door.
- else
- if(d == SOUTH || d == EAST)
- //doors prefer connecting to zones to the north or west
- closed += O
-
- else
- //see if we need to force an attempted connection
- //(there are no potentially viable zones to the north/west of the door)
- var/turf/simulated/W = get_step(O, WEST)
- var/turf/simulated/N = get_step(O, NORTH)
-
- if( !O.ZCanPass(N) && !O.ZCanPass(W) )
- //If it cannot connect either to the north or west, connect it!
- closed += O
-
- //This tile is now evaluated, and can be moved to the list of evaluated tiles.
- open -= T
- closed += T
-
- return closed
-
-
-//Procedure to merge two zones together.
-proc/ZMerge(zone/A,zone/B)
-
- //Sanity~
- if(!istype(A) || !istype(B))
- return
-
- var/new_contents = A.contents + B.contents
-
- //Set all the zone vars.
- for(var/turf/simulated/T in B.contents)
- T.zone = A
-
- if(istype(A.air) && istype(B.air))
- //Merges two zones so that they are one.
- var/a_size = A.air.group_multiplier
- var/b_size = B.air.group_multiplier
- var/c_size = a_size + b_size
-
- //Set air multipliers to one so air represents gas per tile.
- A.air.group_multiplier = 1
- B.air.group_multiplier = 1
-
- //Remove some air proportional to the size of this zone.
- A.air.remove_ratio(a_size/c_size)
- B.air.remove_ratio(b_size/c_size)
-
- //Merge the gases and set the multiplier to the sum of the old ones.
- A.air.merge(B.air)
- A.air.group_multiplier = c_size
-
- //I hate when the air datum somehow disappears.
- // Try to make it sorta work anyways. Fakit
- else if(istype(B.air))
- A.air = B.air
- A.air.group_multiplier = A.contents.len
-
- else if(istype(A.air))
- A.air.group_multiplier = A.contents.len
-
- //Doublefakit.
- else
- A.air = new
-
- //Check for connections to merge into the new zone.
- for(var/connection/C in B.connections)
- //The Cleanup proc will delete the connection if the zones are the same.
- // It will also set the zone variables correctly.
- C.Cleanup()
-
- //Add space tiles.
- if(A.unsimulated_tiles && B.unsimulated_tiles)
- A.unsimulated_tiles |= B.unsimulated_tiles
- else if (B.unsimulated_tiles)
- A.unsimulated_tiles = B.unsimulated_tiles
-
- //Add contents.
- A.contents = new_contents
-
- //Remove the "B" zone, finally.
- B.SoftDelete()
-
-
-//Connects two zones by forming a connection object representing turfs A and B.
-proc/ZConnect(turf/simulated/A,turf/simulated/B)
-
- //Make sure that if it's space, it gets added to unsimulated_tiles instead.
- if(!istype(B))
- if(A.zone)
- A.zone.AddTurf(B)
- return
- if(!istype(A))
- if(B.zone)
- B.zone.AddTurf(A)
- return
-
- if(!istype(A) || !istype(B))
- return
-
- //Make some preliminary checks to see if the connection is valid.
- if(!A.zone || !B.zone) return
- if(A.zone == B.zone)
- air_master.AddIntrazoneConnection(A,B)
- return
-
- if(A.CanPass(null, B, 1.5, 1) && A.zone.air.compare(B.zone.air))
- return ZMerge(A.zone,B.zone)
-
- //Ensure the connection isn't already made.
- if(A in air_master.turfs_with_connections)
- for(var/connection/C in air_master.turfs_with_connections[A])
- if(C.B == B || C.A == B)
- return
-
- //Make the connection.
- new /connection(A,B)
diff --git a/code/ZAS - oldbs12/Plasma.dm b/code/ZAS - oldbs12/Plasma.dm
deleted file mode 100644
index 5be45be3c07..00000000000
--- a/code/ZAS - oldbs12/Plasma.dm
+++ /dev/null
@@ -1,163 +0,0 @@
-var/image/contamination_overlay = image('icons/effects/contamination.dmi')
-
-/pl_control
- var/PLASMA_DMG = 3
- var/PLASMA_DMG_NAME = "Plasma Damage Amount"
- var/PLASMA_DMG_DESC = "Self Descriptive"
-
- var/CLOTH_CONTAMINATION = 1
- var/CLOTH_CONTAMINATION_NAME = "Cloth Contamination"
- var/CLOTH_CONTAMINATION_DESC = "If this is on, plasma does damage by getting into cloth."
-
- var/PLASMAGUARD_ONLY = 0
- var/PLASMAGUARD_ONLY_NAME = "\"PlasmaGuard Only\""
- var/PLASMAGUARD_ONLY_DESC = "If this is on, only biosuits and spacesuits protect against contamination and ill effects."
-
- var/GENETIC_CORRUPTION = 0
- var/GENETIC_CORRUPTION_NAME = "Genetic Corruption Chance"
- var/GENETIC_CORRUPTION_DESC = "Chance of genetic corruption as well as toxic damage, X in 10,000."
-
- var/SKIN_BURNS = 0
- var/SKIN_BURNS_DESC = "Plasma has an effect similar to mustard gas on the un-suited."
- var/SKIN_BURNS_NAME = "Skin Burns"
-
- var/EYE_BURNS = 1
- var/EYE_BURNS_NAME = "Eye Burns"
- var/EYE_BURNS_DESC = "Plasma burns the eyes of anyone not wearing eye protection."
-
- var/CONTAMINATION_LOSS = 0.02
- var/CONTAMINATION_LOSS_NAME = "Contamination Loss"
- var/CONTAMINATION_LOSS_DESC = "How much toxin damage is dealt from contaminated clothing" //Per tick? ASK ARYN
-
- var/PLASMA_HALLUCINATION = 0
- var/PLASMA_HALLUCINATION_NAME = "Plasma Hallucination"
- var/PLASMA_HALLUCINATION_DESC = "Does being in plasma cause you to hallucinate?"
-
- var/N2O_HALLUCINATION = 1
- var/N2O_HALLUCINATION_NAME = "N2O Hallucination"
- var/N2O_HALLUCINATION_DESC = "Does being in sleeping gas cause you to hallucinate?"
-
-
-obj/var/contaminated = 0
-
-
-/obj/item/proc/can_contaminate()
- //Clothing and backpacks can be contaminated.
- if(flags & PLASMAGUARD) return 0
- else if(istype(src,/obj/item/weapon/storage/backpack)) return 0 //Cannot be washed :(
- else if(istype(src,/obj/item/clothing)) return 1
-
-/obj/item/proc/contaminate()
- //Do a contamination overlay? Temporary measure to keep contamination less deadly than it was.
- if(!contaminated)
- contaminated = 1
- overlays += contamination_overlay
-
-/obj/item/proc/decontaminate()
- contaminated = 0
- overlays -= contamination_overlay
-
-/mob/proc/contaminate()
-
-/mob/living/carbon/human/contaminate()
- //See if anything can be contaminated.
-
- if(!pl_suit_protected())
- suit_contamination()
-
- if(!pl_head_protected())
- if(prob(1)) suit_contamination() //Plasma can sometimes get through such an open suit.
-
-//Cannot wash backpacks currently.
-// if(istype(back,/obj/item/weapon/storage/backpack))
-// back.contaminate()
-
-/mob/proc/pl_effects()
-
-/mob/living/carbon/human/pl_effects()
- //Handles all the bad things plasma can do.
-
- //Contamination
- if(vsc.plc.CLOTH_CONTAMINATION) contaminate()
-
- //Anything else requires them to not be dead.
- if(stat >= 2)
- return
-
- //Burn skin if exposed.
- if(vsc.plc.SKIN_BURNS)
- if(!pl_head_protected() || !pl_suit_protected())
- burn_skin(0.75)
- if(prob(20)) src << "\red Your skin burns!"
- updatehealth()
-
- //Burn eyes if exposed.
- if(vsc.plc.EYE_BURNS)
- if(!head)
- if(!wear_mask)
- burn_eyes()
- else
- if(!(wear_mask.flags & MASKCOVERSEYES))
- burn_eyes()
- else
- if(!(head.flags & HEADCOVERSEYES))
- if(!wear_mask)
- burn_eyes()
- else
- if(!(wear_mask.flags & MASKCOVERSEYES))
- burn_eyes()
-
- //Genetic Corruption
- if(vsc.plc.GENETIC_CORRUPTION)
- if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION)
- randmutb(src)
- src << "\red High levels of toxins cause you to spontaneously mutate."
- domutcheck(src,null)
-
-
-/mob/living/carbon/human/proc/burn_eyes()
- //The proc that handles eye burning.
- if(prob(20)) src << "\red Your eyes burn!"
- var/datum/organ/internal/eyes/E = internal_organs_by_name["eyes"]
- E.damage += 2.5
- eye_blurry = min(eye_blurry+1.5,50)
- if (prob(max(0,E.damage - 15) + 1) &&!eye_blind)
- src << "\red You are blinded!"
- eye_blind += 20
-
-/mob/living/carbon/human/proc/pl_head_protected()
- //Checks if the head is adequately sealed.
- if(head)
- if(vsc.plc.PLASMAGUARD_ONLY)
- if(head.flags & PLASMAGUARD)
- return 1
- else if(head.flags & HEADCOVERSEYES)
- return 1
- return 0
-
-/mob/living/carbon/human/proc/pl_suit_protected()
- //Checks if the suit is adequately sealed.
- if(wear_suit)
- if(vsc.plc.PLASMAGUARD_ONLY)
- if(wear_suit.flags & PLASMAGUARD) return 1
- else
- if(wear_suit.flags_inv & HIDEJUMPSUIT) return 1
- return 0
-
-/mob/living/carbon/human/proc/suit_contamination()
- //Runs over the things that can be contaminated and does so.
- if(w_uniform) w_uniform.contaminate()
- if(shoes) shoes.contaminate()
- if(gloves) gloves.contaminate()
-
-
-turf/Entered(obj/item/I)
- . = ..()
- //Items that are in plasma, but not on a mob, can still be contaminated.
- if(istype(I) && vsc.plc.CLOTH_CONTAMINATION)
- var/datum/gas_mixture/env = return_air(1)
- if(!env)
- return
- if(env.toxins > MOLES_PLASMA_VISIBLE + 1)
- if(I.can_contaminate())
- I.contaminate()
\ No newline at end of file
diff --git a/code/ZAS - oldbs12/Variable Settings.dm b/code/ZAS - oldbs12/Variable Settings.dm
deleted file mode 100644
index 92841a02dcd..00000000000
--- a/code/ZAS - oldbs12/Variable Settings.dm
+++ /dev/null
@@ -1,336 +0,0 @@
-var/global/vs_control/vsc = new
-
-/vs_control
- var/fire_consuption_rate = 0.25
- var/fire_consuption_rate_NAME = "Fire - Air Consumption Ratio"
- var/fire_consuption_rate_DESC = "Ratio of air removed and combusted per tick."
-
- var/fire_firelevel_multiplier = 25
- var/fire_firelevel_multiplier_NAME = "Fire - Firelevel Constant"
- var/fire_firelevel_multiplier_DESC = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires."
-
- var/fire_fuel_energy_release = 397000
- var/fire_fuel_energy_release_NAME = "Fire - Fuel energy release"
- var/fire_fuel_energy_release_DESC = "The energy in joule released when burning one mol of a burnable substance"
-
-
- var/IgnitionLevel = 0.5
- var/IgnitionLevel_DESC = "Determines point at which fire can ignite"
-
- var/airflow_lightest_pressure = 20
- var/airflow_lightest_pressure_NAME = "Airflow - Small Movement Threshold %"
- var/airflow_lightest_pressure_DESC = "Percent of 1 Atm. at which items with the small weight classes will move."
-
- var/airflow_light_pressure = 35
- var/airflow_light_pressure_NAME = "Airflow - Medium Movement Threshold %"
- var/airflow_light_pressure_DESC = "Percent of 1 Atm. at which items with the medium weight classes will move."
-
- var/airflow_medium_pressure = 50
- var/airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %"
- var/airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move."
-
- var/airflow_heavy_pressure = 65
- var/airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %"
- var/airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move."
-
- var/airflow_dense_pressure = 85
- var/airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %"
- var/airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move."
-
- var/airflow_stun_pressure = 60
- var/airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %"
- var/airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow."
-
- var/airflow_stun_cooldown = 60
- var/airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown"
- var/airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again."
-
- var/airflow_stun = 1
- var/airflow_stun_NAME = "Airflow Impact - Stunning"
- var/airflow_stun_DESC = "How much a mob is stunned when hit by an object."
-
- var/airflow_damage = 2
- var/airflow_damage_NAME = "Airflow Impact - Damage"
- var/airflow_damage_DESC = "Damage from airflow impacts."
-
- var/airflow_speed_decay = 1.5
- var/airflow_speed_decay_NAME = "Airflow Speed Decay"
- var/airflow_speed_decay_DESC = "How rapidly the speed gained from airflow decays."
-
- var/airflow_delay = 30
- var/airflow_delay_NAME = "Airflow Retrigger Delay"
- var/airflow_delay_DESC = "Time in deciseconds before things can be moved by airflow again."
-
- var/airflow_mob_slowdown = 1
- var/airflow_mob_slowdown_NAME = "Airflow Slowdown"
- var/airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow."
-
- var/connection_insulation = 1
- var/connection_insulation_NAME = "Connections - Insulation"
- var/connection_insulation_DESC = "Boolean, should doors forbid heat transfer?"
-
- var/connection_temperature_delta = 10
- var/connection_temperature_delta_NAME = "Connections - Temperature Difference"
- var/connection_temperature_delta_DESC = "The smallest temperature difference which will cause heat to travel through doors."
-
-
-/vs_control/var/list/settings = list()
-/vs_control/var/list/bitflags = list("1","2","4","8","16","32","64","128","256","512","1024")
-/vs_control/var/pl_control/plc = new()
-
-/vs_control/New()
- . = ..()
- settings = vars.Copy()
-
- var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars.
- for(var/V in D.vars)
- settings -= V
-
- for(var/V in settings)
- if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC") || findtextEx(V,"_METHOD"))
- settings -= V
-
- settings -= "settings"
- settings -= "bitflags"
- settings -= "plc"
-
-/vs_control/proc/ChangeSettingsDialog(mob/user,list/L)
- //var/which = input(user,"Choose a setting:") in L
- var/dat = ""
- for(var/ch in L)
- if(findtextEx(ch,"_RANDOM") || findtextEx(ch,"_DESC") || findtextEx(ch,"_METHOD") || findtextEx(ch,"_NAME")) continue
- var/vw
- var/vw_desc = "No Description."
- var/vw_name = ch
- if(ch in plc.settings)
- vw = plc.vars[ch]
- if("[ch]_DESC" in plc.vars) vw_desc = plc.vars["[ch]_DESC"]
- if("[ch]_NAME" in plc.vars) vw_name = plc.vars["[ch]_NAME"]
- else
- vw = vars[ch]
- if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"]
- if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"]
- dat += "[vw_name] = [vw] \[Change\]
"
- dat += "[vw_desc]
"
- user << browse(dat,"window=settings")
-
-/vs_control/Topic(href,href_list)
- if("changevar" in href_list)
- ChangeSetting(usr,href_list["changevar"])
-
-/vs_control/proc/ChangeSetting(mob/user,ch)
- var/vw
- var/how = "Text"
- var/display_description = ch
- if(ch in plc.settings)
- vw = plc.vars[ch]
- if("[ch]_NAME" in plc.vars)
- display_description = plc.vars["[ch]_NAME"]
- if("[ch]_METHOD" in plc.vars)
- how = plc.vars["[ch]_METHOD"]
- else
- if(isnum(vw))
- how = "Numeric"
- else
- how = "Text"
- else
- vw = vars[ch]
- if("[ch]_NAME" in vars)
- display_description = vars["[ch]_NAME"]
- if("[ch]_METHOD" in vars)
- how = vars["[ch]_METHOD"]
- else
- if(isnum(vw))
- how = "Numeric"
- else
- how = "Text"
- var/newvar = vw
- switch(how)
- if("Numeric")
- newvar = input(user,"Enter a number:","Settings",newvar) as num
- if("Bit Flag")
- var/flag = input(user,"Toggle which bit?","Settings") in bitflags
- flag = text2num(flag)
- if(newvar & flag)
- newvar &= ~flag
- else
- newvar |= flag
- if("Toggle")
- newvar = !newvar
- if("Text")
- newvar = input(user,"Enter a string:","Settings",newvar) as text
- if("Long Text")
- newvar = input(user,"Enter text:","Settings",newvar) as message
- vw = newvar
- if(ch in plc.settings)
- plc.vars[ch] = vw
- else
- vars[ch] = vw
- if(how == "Toggle")
- newvar = (newvar?"ON":"OFF")
- world << "\blue [key_name(user)] changed the setting [display_description] to [newvar]."
- if(ch in plc.settings)
- ChangeSettingsDialog(user,plc.settings)
- else
- ChangeSettingsDialog(user,settings)
-
-/vs_control/proc/RandomizeWithProbability()
- for(var/V in settings)
- var/newvalue
- if("[V]_RANDOM" in vars)
- if(isnum(vars["[V]_RANDOM"]))
- newvalue = prob(vars["[V]_RANDOM"])
- else if(istext(vars["[V]_RANDOM"]))
- newvalue = roll(vars["[V]_RANDOM"])
- else
- newvalue = vars[V]
- V = newvalue
-
-/vs_control/proc/ChangePlasma()
- for(var/V in plc.settings)
- plc.Randomize(V)
-
-/vs_control/proc/SetDefault(var/mob/user)
- var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!",\
- "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish")
- var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices
- if(!def)
- return
- switch(def)
- if("Plasma - Standard")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 0
- plc.CONTAMINATION_LOSS = 0.02
-
- if("Plasma - Low Hazard")
- plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000
- plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 0
- plc.CONTAMINATION_LOSS = 0.01
-
- if("Plasma - High Hazard")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 1
- plc.CONTAMINATION_LOSS = 0.05
-
- if("Plasma - Oh Shit!")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 1
- plc.GENETIC_CORRUPTION = 5 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 1
- plc.CONTAMINATION_LOSS = 0.075
-
- if("ZAS - Normal")
- airflow_lightest_pressure = 20
- airflow_light_pressure = 35
- airflow_medium_pressure = 50
- airflow_heavy_pressure = 65
- airflow_dense_pressure = 85
- airflow_stun_pressure = 60
- airflow_stun_cooldown = 60
- airflow_stun = 1
- airflow_damage = 2
- airflow_speed_decay = 1.5
- airflow_delay = 30
- airflow_mob_slowdown = 1
-
- if("ZAS - Forgiving")
- airflow_lightest_pressure = 45
- airflow_light_pressure = 60
- airflow_medium_pressure = 120
- airflow_heavy_pressure = 110
- airflow_dense_pressure = 200
- airflow_stun_pressure = 150
- airflow_stun_cooldown = 90
- airflow_stun = 0.15
- airflow_damage = 0.15
- airflow_speed_decay = 1.5
- airflow_delay = 50
- airflow_mob_slowdown = 0
-
- if("ZAS - Dangerous")
- airflow_lightest_pressure = 15
- airflow_light_pressure = 30
- airflow_medium_pressure = 45
- airflow_heavy_pressure = 55
- airflow_dense_pressure = 70
- airflow_stun_pressure = 50
- airflow_stun_cooldown = 50
- airflow_stun = 2
- airflow_damage = 3
- airflow_speed_decay = 1.2
- airflow_delay = 25
- airflow_mob_slowdown = 2
-
- if("ZAS - Hellish")
- airflow_lightest_pressure = 20
- airflow_light_pressure = 30
- airflow_medium_pressure = 40
- airflow_heavy_pressure = 50
- airflow_dense_pressure = 60
- airflow_stun_pressure = 40
- airflow_stun_cooldown = 40
- airflow_stun = 3
- airflow_damage = 4
- airflow_speed_decay = 1
- airflow_delay = 20
- airflow_mob_slowdown = 3
- connection_insulation = 0
-
-
- world << "\blue [key_name(user)] changed the global plasma/ZAS settings to \"[def]\""
-
-/pl_control/var/list/settings = list()
-
-/pl_control/New()
- . = ..()
- settings = vars.Copy()
-
- var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars.
- for(var/V in D.vars)
- settings -= V
-
- for(var/V in settings)
- if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC"))
- settings -= V
-
- settings -= "settings"
-
-/pl_control/proc/Randomize(V)
- var/newvalue
- if("[V]_RANDOM" in vars)
- if(isnum(vars["[V]_RANDOM"]))
- newvalue = prob(vars["[V]_RANDOM"])
- else if(istext(vars["[V]_RANDOM"]))
- var/txt = vars["[V]_RANDOM"]
- if(findtextEx(txt,"PROB"))
- txt = text2list(txt,"/")
- txt[1] = replacetext(txt[1],"PROB","")
- var/p = text2num(txt[1])
- var/r = txt[2]
- if(prob(p))
- newvalue = roll(r)
- else
- newvalue = vars[V]
- else if(findtextEx(txt,"PICK"))
- txt = replacetext(txt,"PICK","")
- txt = text2list(txt,",")
- newvalue = pick(txt)
- else
- newvalue = roll(txt)
- else
- newvalue = vars[V]
- vars[V] = newvalue
diff --git a/code/ZAS - oldbs12/ZAS_Turfs.dm b/code/ZAS - oldbs12/ZAS_Turfs.dm
deleted file mode 100644
index 84d3e9450e4..00000000000
--- a/code/ZAS - oldbs12/ZAS_Turfs.dm
+++ /dev/null
@@ -1,380 +0,0 @@
-/atom/var/pressure_resistance = ONE_ATMOSPHERE
-
-/turf/var/zone/zone
-
-/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
- del(giver)
- return 0
-
-/turf/return_air()
- //Create gas mixture to hold data for passing
- var/datum/gas_mixture/GM = new
-
- GM.oxygen = oxygen
- GM.carbon_dioxide = carbon_dioxide
- GM.nitrogen = nitrogen
- GM.toxins = toxins
-
- GM.temperature = temperature
- GM.update_values()
-
- return GM
-
-/turf/remove_air(amount as num)
- var/datum/gas_mixture/GM = new
-
- var/sum = oxygen + carbon_dioxide + nitrogen + toxins
- if(sum>0)
- GM.oxygen = (oxygen/sum)*amount
- GM.carbon_dioxide = (carbon_dioxide/sum)*amount
- GM.nitrogen = (nitrogen/sum)*amount
- GM.toxins = (toxins/sum)*amount
-
- GM.temperature = temperature
- GM.update_values()
-
- return GM
-
-/turf/simulated/var/current_graphic = null
-
-/turf/simulated/var/tmp/datum/gas_mixture/air
-
-/turf/simulated/var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update
-
-/turf/simulated/var/tmp/unsim_check_directions = 0 //See above.
-
-/turf/simulated/var/tmp/obj/fire/active_hotspot
-
-/turf/simulated/var/tmp/was_icy = 0
-
-/turf/simulated/proc/update_visuals()
- overlays = null
-
- var/siding_icon_state = return_siding_icon_state()
- if(siding_icon_state)
- overlays += image('icons/turf/floors.dmi',siding_icon_state)
- var/datum/gas_mixture/model = return_air()
-
-
- switch(model.graphic)
- if(1)
- overlays.Add(plmaster) //TODO: Make invisible plasma an option
- if(2)
- overlays.Add(slmaster)
- if(3)
- if(!was_icy)
- wet=3 // Custom ice
- was_icy=1
- var/o=""
- //if(is_plating())
- // o="snowfloor_s"
- //else
- if(is_plasteel_floor())
- o="snowfloor"
- if(o!="")
- overlays += image('icons/turf/overlays.dmi',o)
- else
- if(was_icy)
- wet=0
- was_icy=0
- if(prob(10))
- wet = 1
- if(wet_overlay)
- overlays -= wet_overlay
- wet_overlay = null
- wet_overlay = image('icons/effects/water.dmi',src,"wet_floor")
- overlays += wet_overlay
-
- spawn(800)
- if (!istype(src)) return
- if(wet >= 2) return
- wet = 0
- if(wet_overlay)
- overlays -= wet_overlay
- wet_overlay = null
-
-
-/turf/simulated/New()
- if(!blocks_air)
- air = new
-
- air.oxygen = oxygen
- air.carbon_dioxide = carbon_dioxide
- air.nitrogen = nitrogen
- air.toxins = toxins
-
- air.temperature = temperature
- air.update_values()
-
- if(air_master)
- air_master.tiles_to_update.Add(src)
-
- else
- if(air_master)
- for(var/direction in cardinal)
- var/turf/simulated/floor/target = get_step(src,direction)
- if(istype(target))
- air_master.tiles_to_update |= target
-
- . = ..()
-
-/turf/simulated/Destroy()
- if(active_hotspot)
- del(active_hotspot)
- if(blocks_air)
- for(var/direction in list(NORTH, SOUTH, EAST, WEST))
- var/turf/simulated/tile = get_step(src,direction)
- if(istype(tile) && !tile.blocks_air)
- air_master.tiles_to_update.Add(tile)
- ..()
-
-/turf/simulated/assume_air(datum/gas_mixture/giver)
- if(!giver) return 0
- if(zone)
- zone.assume_air(giver)
- return 1
- else
- return ..()
-
-/turf/simulated/return_air()
- if(zone)
- return zone.air
- else if(air)
- return air
-
- else
- return ..()
-
-/turf/simulated/remove_air(amount as num)
- if(zone)
- return zone.remove_air(amount)
-
- else if(air)
- var/datum/gas_mixture/removed = null
- removed = air.remove(amount)
-
- if(air.check_tile_graphic())
- update_visuals(air)
- return removed
-
- else
- return ..()
-
-/turf/simulated/proc/update_air_properties()
- var/air_directions_archived = air_check_directions
- air_check_directions = 0
-
- var/unsim_directions_archived = unsim_check_directions
- unsim_check_directions = 0
-
- for(var/direction in cardinal)
- var/turf/check_turf = get_step(src, direction)
- if(ZAirPass(check_turf))
- if(istype(check_turf, /turf/simulated))
- air_check_directions |= direction
- else if(istype(check_turf, /turf/space) || istype(check_turf, /turf/unsimulated))
- unsim_check_directions |= direction
-
- if(!zone && !blocks_air) //No zone, but not a wall.
- for(var/direction in DoorDirections) //Check door directions first.
- if(air_check_directions & direction)
- var/turf/simulated/T = get_step(src, direction)
- if(!istype(T))
- continue
- if(T.zone)
- T.zone.AddTurf(src)
- break
- if(!zone) //Still no zone
- for(var/direction in CounterDoorDirections) //Check the others second.
- if(air_check_directions & direction)
- var/turf/simulated/T = get_step(src,direction)
- if(!istype(T))
- continue
- if(T.zone)
- T.zone.AddTurf(src)
- break
- if(!zone) //No zone found, new zone!
- new/zone(src)
- if(!zone) //Still no zone, the floodfill determined it is not part of a larger zone. Force a zone on it.
- new/zone(list(src))
-
- //Check pass sanity of the connections.
- if(src in air_master.turfs_with_connections)
- air_master.AddConnectionToCheck(air_master.turfs_with_connections[src])
-
- if(zone && !air_master.zones_needing_rebuilt.Find(zone))
- for(var/direction in cardinal)
- var/turf/T = get_step(src,direction)
- if(!istype(T))
- continue
-
- //I can connect to air in this direction
- if(air_check_directions & direction || unsim_check_directions & direction)
-
- //If either block air, we must look to see if the adjacent turfs need rebuilt.
- if(!CanPass(null, T, 0, 0))
-
- //Target blocks air
- if(!T.CanPass(null, T, 0, 0))
- var/turf/NT = get_step(T, direction)
-
- //If that turf is in my zone still, rebuild.
- if(istype(NT,/turf/simulated) && NT in zone.contents)
- air_master.zones_needing_rebuilt.Add(zone)
-
- //If that is an unsimulated tile in my zone, see if we need to rebuild or just remove.
- else if(istype(NT) && NT in zone.unsimulated_tiles)
- var/consider_rebuild = 0
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
- if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild
- consider_rebuild = 1
- break
- if(consider_rebuild)
- air_master.zones_needing_rebuilt.Add(zone) //Gotta check if we need to rebuild, dammit
- else
- zone.RemoveTurf(NT) //Not adjacent to anything, and unsimulated. Goodbye~
-
- //To make a closed connection through closed door.
- ZConnect(T, src)
-
- //If I block air.
- else if(T.zone && !air_master.zones_needing_rebuilt.Find(T.zone))
- var/turf/NT = get_step(src, reverse_direction(direction))
-
- //If I am splitting a zone, rebuild.
- if(istype(NT,/turf/simulated) && (NT in T.zone.contents || (NT.zone && T in NT.zone.contents)))
- air_master.zones_needing_rebuilt.Add(T.zone)
-
- //If NT is unsimulated, parse if I should remove it or rebuild.
- else if(istype(NT) && NT in T.zone.unsimulated_tiles)
- var/consider_rebuild = 0
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
- if(istype(UT, /turf/simulated) && UT.zone == T.zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild
- consider_rebuild = 1
- break
-
- //Needs rebuilt.
- if(consider_rebuild)
- air_master.zones_needing_rebuilt.Add(T.zone)
-
- //Not adjacent to anything, and unsimulated. Goodbye~
- else
- T.zone.RemoveTurf(NT)
-
- else
- //Produce connection through open door.
- ZConnect(src,T)
-
- //Something like a wall was built, changing the geometry.
- else if(air_directions_archived & direction || unsim_directions_archived & direction)
- var/turf/NT = get_step(T, direction)
-
- //If the tile is in our own zone, and we cannot connect to it, better rebuild.
- if(istype(NT,/turf/simulated) && NT in zone.contents)
- air_master.zones_needing_rebuilt.Add(zone)
-
- //Parse if we need to remove the tile, or rebuild the zone.
- else if(istype(NT) && NT in zone.unsimulated_tiles)
- var/consider_rebuild = 0
-
- //Loop through all neighboring turfs to see if we should remove the turf or just rebuild.
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
-
- //If we find a neighboring tile that is in the same zone, rebuild
- if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0))
- consider_rebuild = 1
- break
-
- //The unsimulated turf is adjacent to another one of our zone's turfs,
- // better rebuild to be sure we didn't get cut in twain
- if(consider_rebuild)
- air_master.zones_needing_rebuilt.Add(NT.zone)
-
- //Not adjacent to anything, and unsimulated. Goodbye~
- else
- zone.RemoveTurf(NT)
-
- return 1
-
-/turf/proc/HasDoor(turf/O)
- //Checks for the presence of doors, used for zone spreading and connection.
- //A positive numerical argument checks only for closed doors.
- //Another turf as an argument checks for windoors between here and there.
- for(var/obj/machinery/door/D in src)
- if(isnum(O) && O)
- if(!D.density) continue
- if(istype(D,/obj/machinery/door/window))
- if(!istype(O))
- continue
- if(D.dir == get_dir(D,O))
- return 1
- else
- return 1
-
-/turf/proc/ZCanPass(turf/simulated/T, var/include_space = 0)
- //Fairly standard pass checks for turfs, objects and directional windows. Also stops at the edge of space.
- if(!istype(T))
- return 0
-
- if(!istype(T) && !include_space)
- return 0
- else
- if(T.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction))
- continue
- if(!obstacle.CanPass(null, T, 1.5, 1))
- return 0
-
- for(var/obj/obstacle in T)
- if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction))
- continue
- if(!obstacle.CanPass(null, src, 1.5, 1))
- return 0
-
- return 1
-
-/turf/proc/ZAirPass(turf/T)
- //Fairly standard pass checks for turfs, objects and directional windows.
- if(!istype(T))
- return 0
-
- if(T.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction))
- continue
- if(!obstacle.CanPass(null, T, 0, 0))
- return 0
-
- for(var/obj/obstacle in T)
- if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction))
- continue
- if(!obstacle.CanPass(null, src, 0, 0))
- return 0
-
- return 1
-
-/*UNUSED
-/turf/proc/check_connections()
- //Checks for new connections that can be made.
- for(var/d in cardinal)
- var/turf/simulated/T = get_step(src,d)
- if(istype(T) && ( !T.zone || !T.CanPass(0,src,0,0) ) )
- continue
- if(T.zone != zone)
- ZConnect(src,T)
-
-/turf/proc/check_for_space()
- //Checks for space around the turf.
- for(var/d in cardinal)
- var/turf/T = get_step(src,d)
- if(istype(T,/turf/space) && T.CanPass(0,src,0,0))
- zone.AddSpace(T)
- */
\ No newline at end of file
diff --git a/code/ZAS - oldbs12/ZAS_Zones.dm b/code/ZAS - oldbs12/ZAS_Zones.dm
deleted file mode 100644
index db1e1b6f466..00000000000
--- a/code/ZAS - oldbs12/ZAS_Zones.dm
+++ /dev/null
@@ -1,875 +0,0 @@
-var/list/DoorDirections = list(NORTH,WEST) //Which directions doors turfs can connect to zones
-var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs can connect to zones
-
-/zone
- var/dbg_output = 0 //Enables debug output.
-
- var/datum/gas_mixture/air //The air contents of the zone.
- var/datum/gas_mixture/archived_air
-
- var/list/contents //All the tiles that are contained in this zone.
- var/list/unsimulated_tiles // Any space tiles in this list will cause air to flow out.
-
- var/datum/gas_mixture/air_unsim //Overall average of the air in connected unsimualted tiles.
- var/unsim_air_needs_update = 0 //Set to 1 on geometry changes, marks air_unsim as needing update.
-
- var/list/connections //connection objects which refer to connections with other zones, e.g. through a door.
- var/list/direct_connections //connections which directly connect two zones.
-
- var/list/connected_zones //Parallels connections, but lists zones to which this one is connected and the number
- //of points they're connected at.
- var/list/closed_connection_zones //Same as connected_zones, but for zones where the door or whatever is closed.
-
- var/last_update = 0
- var/last_rebuilt = 0
- var/status = ZONE_ACTIVE
- var/interactions_with_neighbors = 0
- var/interactions_with_unsim = 0
- var/progress = "nothing"
-
-//CREATION AND DELETION
-/zone/New(turf/start)
- . = ..()
- //Get the turfs that are part of the zone using a floodfill method
- if(istype(start,/list))
- contents = start
- else
- contents = FloodFill(start)
-
- //Change all the zone vars of the turfs, check for space to be added to unsimulated_tiles.
- for(var/turf/T in contents)
- if(T.zone && T.zone != src)
- T.zone.RemoveTurf(T)
- T.zone = src
- if(!istype(T,/turf/simulated))
- AddTurf(T)
-
- //Generate the gas_mixture for use in txhis zone by using the average of the gases
- //defined at startup.
- //Changed to try and find the source of the error.
- air = new
- air.group_multiplier = contents.len
- for(var/turf/simulated/T in contents)
- if(!T.air)
- continue
- air.oxygen += T.air.oxygen / air.group_multiplier
- air.nitrogen += T.air.nitrogen / air.group_multiplier
- air.carbon_dioxide += T.air.carbon_dioxide / air.group_multiplier
- air.toxins += T.air.toxins / air.group_multiplier
- air.temperature += T.air.temperature / air.group_multiplier
- for(var/datum/gas/trace in T.air.trace_gases)
- var/datum/gas/corresponding_gas = locate(trace.type) in air.trace_gases
- if(!corresponding_gas)
- corresponding_gas = new trace.type()
- air.trace_gases.Add(corresponding_gas)
- corresponding_gas.moles += trace.moles
- air.update_values()
-
- //Add this zone to the global list.
- if(air_master)
- air_master.zones.Add(src)
- air_master.active_zones.Add(src)
-
-
-//DO NOT USE. Use the SoftDelete proc.
-/zone/Del()
- //Ensuring the zone list doesn't get clogged with null values.
- for(var/turf/simulated/T in contents)
- RemoveTurf(T)
- air_master.ReconsiderTileZone(T)
-
- if(air_master)
- air_master.AddConnectionToCheck(connections)
-
- air = null
-
- . = ..()
-
-
-//Handles deletion via garbage collection.
-/zone/proc/SoftDelete()
- air = null
-
- if(air_master)
- air_master.zones.Remove(src)
- air_master.active_zones.Remove(src)
- air_master.zones_needing_rebuilt.Remove(src)
- air_master.AddConnectionToCheck(connections)
-
- connections = null
- for(var/connection/C in direct_connections)
- if(C.A.zone == src)
- C.A.zone = null
- if(C.B.zone == src)
- C.B.zone = null
- if(C.zone_A == src)
- C.zone_A = null
- if(C.zone_B == src)
- C.zone_B = null
- direct_connections = null
-
- //Ensuring the zone list doesn't get clogged with null values.
- for(var/turf/simulated/T in contents)
- RemoveTurf(T)
- air_master.ReconsiderTileZone(T)
-
- contents.Cut()
-
- //Removing zone connections and scheduling connection cleanup
- for(var/zone/Z in connected_zones)
- Z.connected_zones.Remove(src)
- if(!Z.connected_zones.len)
- Z.connected_zones = null
-
- if(Z.closed_connection_zones)
- Z.closed_connection_zones.Remove(src)
- if(!Z.closed_connection_zones.len)
- Z.closed_connection_zones = null
-
- connected_zones = null
- closed_connection_zones = null
-
- return 1
-
-
-//ZONE MANAGEMENT FUNCTIONS
-/zone/proc/AddTurf(turf/T)
- //Adds the turf to contents, increases the size of the zone, and sets the zone var.
- if(istype(T, /turf/simulated))
- if(T in contents)
- return
- if(T.zone)
- T.zone.RemoveTurf(T)
- contents += T
- if(air)
- air.group_multiplier++
-
- T.zone = src
-
- else
- if(!unsimulated_tiles)
- unsimulated_tiles = list()
- else if(T in unsimulated_tiles)
- return
- unsimulated_tiles += T
- contents -= T
-
- unsim_air_needs_update = 1
-
-/zone/proc/RemoveTurf(turf/T)
- //Same, but in reverse.
- if(istype(T, /turf/simulated))
- if(!(T in contents))
- return
- contents -= T
- if(air)
- air.group_multiplier--
-
- if(T.zone == src)
- T.zone = null
-
- if(!contents.len)
- SoftDelete()
-
- else if(unsimulated_tiles)
- unsimulated_tiles -= T
- if(!unsimulated_tiles.len)
- unsimulated_tiles = null
-
- unsim_air_needs_update = 1
-
-//Updates the air_unsim var
-/zone/proc/UpdateUnsimAvg()
- if(!unsimulated_tiles || !unsimulated_tiles.len) //if we don't have any unsimulated tiles, we can't do much.
- return
-
- if(!unsim_air_needs_update && air_unsim) //if air_unsim doesn't exist, we need to create it even if we don't need an update.
- return
-
- //Tempfix.
- if(!air)
- return
-
- unsim_air_needs_update = 0
-
- if(!air_unsim)
- air_unsim = new /datum/gas_mixture
-
- air_unsim.oxygen = 0
- air_unsim.nitrogen = 0
- air_unsim.carbon_dioxide = 0
- air_unsim.toxins = 0
- air_unsim.temperature = 0
-
- var/correction_ratio = max(1, max(max(1, air.group_multiplier) + 3, 1) + unsimulated_tiles.len) / unsimulated_tiles.len
-
- for(var/turf/T in unsimulated_tiles)
- if(!istype(T, /turf/simulated))
- air_unsim.oxygen += T.oxygen
- air_unsim.carbon_dioxide += T.carbon_dioxide
- air_unsim.nitrogen += T.nitrogen
- air_unsim.toxins += T.toxins
- air_unsim.temperature += T.temperature/unsimulated_tiles.len
-
- //These values require adjustment in order to properly represent a room of the specified size.
- air_unsim.oxygen *= correction_ratio
- air_unsim.carbon_dioxide *= correction_ratio
- air_unsim.nitrogen *= correction_ratio
- air_unsim.toxins *= correction_ratio
-
- air_unsim.group_multiplier = unsimulated_tiles.len
-
- air_unsim.update_values()
- return
-
- //////////////
- //PROCESSING//
-//////////////
-
-#define QUANTIZE(variable) (round(variable,0.0001))
-
-/zone/proc/process()
- . = 1
-
- progress = "problem with: SoftDelete()"
-
- //Deletes zone if empty.
- if(!contents.len)
- return SoftDelete()
-
- progress = "problem with: Rebuild()"
-
- if(!contents.len) //If we got soft deleted.
- return
-
- progress = "problem with: air regeneration"
-
- //Sometimes explosions will cause the air to be deleted for some reason.
- if(!air)
- air = new()
- air.oxygen = MOLES_O2STANDARD
- air.nitrogen = MOLES_N2STANDARD
- air.temperature = T0C
- air.total_moles()
- world.log << "Air object lost in zone. Regenerating."
-
-
- progress = "problem with: ShareSpace()"
-
- if(unsim_air_needs_update)
- unsim_air_needs_update = 0
- UpdateUnsimAvg()
-
- if(unsimulated_tiles)
- if(locate(/turf/simulated) in unsimulated_tiles)
- for(var/turf/simulated/T in unsimulated_tiles)
- unsimulated_tiles -= T
-
- if(unsimulated_tiles.len)
- var/moved_air = ShareSpace(air, air_unsim)
-
- if(!air.compare(air_unsim))
- interactions_with_unsim++
-
- if(moved_air > vsc.airflow_lightest_pressure)
- AirflowSpace(src)
- else
- unsimulated_tiles = null
-
- //Check the graphic.
- progress = "problem with: modifying turf graphics"
-
- air.graphic = 0
- if(air.toxins > MOLES_PLASMA_VISIBLE)
- air.graphic = 1
- if(air.trace_gases.len)
- var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases
- if(sleeping_agent && (sleeping_agent.moles > 1))
- air.graphic = 2
- if(air.temperature <= TEMPERATURE_ICE_FORMATION && air.return_pressure()>MIN_PRESSURE_ICE_FORMATION)
- air.graphic = 3
-
- progress = "problem with an inbuilt byond function: some conditional checks"
-
- //Only run through the individual turfs if there's reason to.
- if(air.graphic != air.graphic_archived || air.temperature > PLASMA_FLASHPOINT)
-
- progress = "problem with: turf/simulated/update_visuals()"
-
- for(var/turf/simulated/S in contents)
- //Update overlays.
- if(air.graphic != air.graphic_archived)
- if(S.HasDoor(1))
- S.update_visuals()
- else
- S.update_visuals(air)
-
- progress = "problem with: item or turf temperature_expose()"
-
- //Expose stuff to extreme heat.
- if(air.temperature > PLASMA_FLASHPOINT)
- for(var/atom/movable/item in S)
- item.temperature_expose(air, air.temperature, CELL_VOLUME)
- S.hotspot_expose(air.temperature, CELL_VOLUME)
-
- progress = "problem with: calculating air graphic"
-
- //Archive graphic so we can know if it's different.
- air.graphic_archived = air.graphic
-
- progress = "problem with: calculating air temp"
-
- //Ensure temperature does not reach absolute zero.
- air.temperature = max(TCMB,air.temperature)
-
- progress = "problem with an inbuilt byond function: length(connections)"
-
- //Handle connections to other zones.
- if(length(connections))
-
- progress = "problem with: ZMerge(), a couple of misc procs"
-
- if(length(direct_connections))
- for(var/connection/C in direct_connections)
-
- //Do merging if conditions are met. Specifically, if there's a non-door connection
- //to somewhere with space, the zones are merged regardless of equilibrium, to speed
- //up spacing in areas with double-plated windows.
- if(C.A.zone && C.B.zone)
- if(C.A.zone.air.compare(C.B.zone.air) || unsimulated_tiles)
- ZMerge(C.A.zone,C.B.zone)
-
- progress = "problem with: ShareRatio(), Airflow(), a couple of misc procs"
-
- //Share some
- for(var/zone/Z in connected_zones)
- //If that zone has already processed, skip it.
- if(Z.last_update > last_update)
- continue
-
- //Handle adjacent zones that are sleeping
- if(Z.status == ZONE_SLEEPING)
- if(air.compare(Z.air))
- continue
-
- else
- Z.SetStatus(ZONE_ACTIVE)
-
- if(air && Z.air)
- //Ensure we're not doing pointless calculations on equilibrium zones.
- if(!air.compare(Z.air))
- if(abs(Z.air.return_pressure() - air.return_pressure()) > vsc.airflow_lightest_pressure)
- Airflow(src,Z)
- var/unsimulated_boost = 0
- if(unsimulated_tiles)
- unsimulated_boost += unsimulated_tiles.len
- if(Z.unsimulated_tiles)
- unsimulated_boost += Z.unsimulated_tiles.len
- unsimulated_boost = max(0, min(3, unsimulated_boost))
- ShareRatio( air , Z.air , connected_zones[Z] + unsimulated_boost)
-
- Z.interactions_with_neighbors++
- interactions_with_neighbors++
-
- if(!vsc.connection_insulation)
- for(var/zone/Z in closed_connection_zones)
- //If that zone has already processed, skip it.
- if(Z.last_update > last_update || !Z.air)
- continue
-
- var/handle_temperature = abs(air.temperature - Z.air.temperature) > vsc.connection_temperature_delta
-
- if(Z.status == ZONE_SLEEPING)
- if (handle_temperature)
- Z.SetStatus(ZONE_ACTIVE)
- else
- continue
-
- if(air && Z.air)
- if( handle_temperature )
- ShareHeat(air, Z.air, closed_connection_zones[Z])
-
- Z.interactions_with_neighbors++
- interactions_with_neighbors++
-
- if(!interactions_with_neighbors && !interactions_with_unsim)
- SetStatus(ZONE_SLEEPING)
-
- interactions_with_neighbors = 0
- interactions_with_unsim = 0
-
- progress = "all components completed successfully, the problem is not here"
-
-
-/zone/proc/SetStatus(var/new_status)
- if(status == ZONE_SLEEPING && new_status == ZONE_ACTIVE)
- air_master.active_zones.Add(src)
- status = ZONE_ACTIVE
-
- else if(status == ZONE_ACTIVE && new_status == ZONE_SLEEPING)
- air_master.active_zones.Remove(src)
- status = ZONE_SLEEPING
-
- if(unsimulated_tiles && unsimulated_tiles.len)
- UpdateUnsimAvg()
- air.copy_from(air_unsim)
-
- if(!archived_air)
- archived_air = new
- archived_air.copy_from(air)
-
-
-/zone/proc/CheckStatus()
- return status
-
-
-/zone/proc/ActivateIfNeeded()
- if(status == ZONE_ACTIVE) return
-
- var/difference = 0
-
- if(unsimulated_tiles && unsimulated_tiles.len)
- UpdateUnsimAvg()
- if(!air.compare(air_unsim))
- difference = 1
-
- if(!difference)
- for(var/zone/Z in connected_zones) //Check adjacent zones for air difference.
- if(!air.compare(Z.air))
- difference = 1
- break
-
- if(difference) //We have a difference, activate the zone.
- SetStatus(ZONE_ACTIVE)
-
- return
-
-
-/zone/proc/assume_air(var/datum/gas_mixture/giver)
- if(status == ZONE_ACTIVE)
- return air.merge(giver)
-
- else
- if(unsimulated_tiles && unsimulated_tiles.len)
- UpdateUnsimAvg()
- var/datum/gas_mixture/compare_air = new
- compare_air.copy_from(giver)
- compare_air.add(air_unsim)
- compare_air.divide(air.group_multiplier)
-
- if(air_unsim.compare(compare_air))
- return 0
-
- var/result = air.merge(giver)
-
- if(!archived_air.compare(air))
- SetStatus(ZONE_ACTIVE)
- return result
-
-
-/zone/proc/remove_air(var/amount)
- if(status == ZONE_ACTIVE)
- return air.remove(amount)
-
- else
- var/result = air.remove(amount)
-
- if(!archived_air.compare(air))
- SetStatus(ZONE_ACTIVE)
-
- return result
-
- ////////////////
- //Air Movement//
-////////////////
-
-var/list/sharing_lookup_table = list(0.30, 0.40, 0.48, 0.54, 0.60, 0.66)
-
-proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
- //Shares a specific ratio of gas between mixtures using simple weighted averages.
- var
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- ratio = sharing_lookup_table[6]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- size = max(1,A.group_multiplier)
- share_size = max(1,B.group_multiplier)
-
- full_oxy = A.oxygen * size
- full_nitro = A.nitrogen * size
- full_co2 = A.carbon_dioxide * size
- full_plasma = A.toxins * size
-
- full_heat_capacity = A.heat_capacity() * size
-
- s_full_oxy = B.oxygen * share_size
- s_full_nitro = B.nitrogen * share_size
- s_full_co2 = B.carbon_dioxide * share_size
- s_full_plasma = B.toxins * share_size
-
- s_full_heat_capacity = B.heat_capacity() * share_size
-
- oxy_avg = (full_oxy + s_full_oxy) / (size + share_size)
- nit_avg = (full_nitro + s_full_nitro) / (size + share_size)
- co2_avg = (full_co2 + s_full_co2) / (size + share_size)
- plasma_avg = (full_plasma + s_full_plasma) / (size + share_size)
-
- temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity)
-
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[connecting_tiles]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- A.oxygen = max(0, (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg )
- A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1-ratio) + nit_avg )
- A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg )
- A.toxins = max(0, (A.toxins - plasma_avg) * (1-ratio) + plasma_avg )
-
- A.temperature = max(0, (A.temperature - temp_avg) * (1-ratio) + temp_avg )
-
- B.oxygen = max(0, (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg )
- B.nitrogen = max(0, (B.nitrogen - nit_avg) * (1-ratio) + nit_avg )
- B.carbon_dioxide = max(0, (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg )
- B.toxins = max(0, (B.toxins - plasma_avg) * (1-ratio) + plasma_avg )
-
- B.temperature = max(0, (B.temperature - temp_avg) * (1-ratio) + temp_avg )
-
- for(var/datum/gas/G in A.trace_gases)
- var/datum/gas/H = locate(G.type) in B.trace_gases
- if(H)
- var/G_avg = (G.moles*size + H.moles*share_size) / (size+share_size)
- G.moles = (G.moles - G_avg) * (1-ratio) + G_avg
-
- H.moles = (H.moles - G_avg) * (1-ratio) + G_avg
- else
- H = new G.type
- B.trace_gases += H
- var/G_avg = (G.moles*size) / (size+share_size)
- G.moles = (G.moles - G_avg) * (1-ratio) + G_avg
- H.moles = (H.moles - G_avg) * (1-ratio) + G_avg
-
- for(var/datum/gas/G in B.trace_gases)
- var/datum/gas/H = locate(G.type) in A.trace_gases
- if(!H)
- H = new G.type
- A.trace_gases += H
- var/G_avg = (G.moles*size) / (size+share_size)
- G.moles = (G.moles - G_avg) * (1-ratio) + G_avg
- H.moles = (H.moles - G_avg) * (1-ratio) + G_avg
-
- A.update_values()
- B.update_values()
-
- if(A.compare(B)) return 1
- else return 0
-
-proc/ShareSpace(datum/gas_mixture/A, list/unsimulated_tiles, dbg_output)
- //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a large airless room.
- if(!unsimulated_tiles)
- return 0
-
- var
- unsim_oxygen = 0
- unsim_nitrogen = 0
- unsim_co2 = 0
- unsim_plasma = 0
- unsim_heat_capacity = 0
- unsim_temperature = 0
-
- size = max(1,A.group_multiplier)
-
- var/tileslen
- var/share_size
-
- if(istype(unsimulated_tiles, /datum/gas_mixture))
- var/datum/gas_mixture/avg_unsim = unsimulated_tiles
- unsim_oxygen = avg_unsim.oxygen
- unsim_co2 = avg_unsim.carbon_dioxide
- unsim_nitrogen = avg_unsim.nitrogen
- unsim_plasma = avg_unsim.toxins
- unsim_temperature = avg_unsim.temperature
- share_size = max(1, max(size + 3, 1) + avg_unsim.group_multiplier)
- tileslen = avg_unsim.group_multiplier
-
- else if(istype(unsimulated_tiles, /list))
- if(!unsimulated_tiles.len)
- return 0
- // We use the same size for the potentially single space tile
- // as we use for the entire room. Why is this?
- // Short answer: We do not want larger rooms to depressurize more
- // slowly than small rooms, preserving our good old "hollywood-style"
- // oh-shit effect when large rooms get breached, but still having small
- // rooms remain pressurized for long enough to make escape possible.
- share_size = max(1, max(size + 3, 1) + unsimulated_tiles.len)
- var/correction_ratio = share_size / unsimulated_tiles.len
-
- for(var/turf/T in unsimulated_tiles)
- unsim_oxygen += T.oxygen
- unsim_co2 += T.carbon_dioxide
- unsim_nitrogen += T.nitrogen
- unsim_plasma += T.toxins
- unsim_temperature += T.temperature/unsimulated_tiles.len
-
- //These values require adjustment in order to properly represent a room of the specified size.
- unsim_oxygen *= correction_ratio
- unsim_co2 *= correction_ratio
- unsim_nitrogen *= correction_ratio
- unsim_plasma *= correction_ratio
- tileslen = unsimulated_tiles.len
-
- else //invalid input type
- return 0
-
- unsim_heat_capacity = HEAT_CAPACITY_CALCULATION(unsim_oxygen, unsim_co2, unsim_nitrogen, unsim_plasma)
-
- var
- ratio = sharing_lookup_table[6]
-
- old_pressure = A.return_pressure()
-
- full_oxy = A.oxygen * size
- full_nitro = A.nitrogen * size
- full_co2 = A.carbon_dioxide * size
- full_plasma = A.toxins * size
-
- full_heat_capacity = A.heat_capacity() * size
-
- oxy_avg = (full_oxy + unsim_oxygen) / (size + share_size)
- nit_avg = (full_nitro + unsim_nitrogen) / (size + share_size)
- co2_avg = (full_co2 + unsim_co2) / (size + share_size)
- plasma_avg = (full_plasma + unsim_plasma) / (size + share_size)
-
- temp_avg = 0
-
- if((full_heat_capacity + unsim_heat_capacity) > 0)
- temp_avg = (A.temperature * full_heat_capacity + unsim_temperature * unsim_heat_capacity) / (full_heat_capacity + unsim_heat_capacity)
-
- if(sharing_lookup_table.len >= tileslen) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[tileslen]
-
- A.oxygen = max(0, (A.oxygen - oxy_avg) * (1 - ratio) + oxy_avg )
- A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1 - ratio) + nit_avg )
- A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1 - ratio) + co2_avg )
- A.toxins = max(0, (A.toxins - plasma_avg) * (1 - ratio) + plasma_avg )
-
- A.temperature = max(TCMB, (A.temperature - temp_avg) * (1 - ratio) + temp_avg )
-
- for(var/datum/gas/G in A.trace_gases)
- var/G_avg = (G.moles * size) / (size + share_size)
- G.moles = (G.moles - G_avg) * (1 - ratio) + G_avg
-
- A.update_values()
-
- return abs(old_pressure - A.return_pressure())
-
-
-proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
- //This implements a simplistic version of the Stefan-Boltzmann law.
- var/energy_delta = ((A.temperature - B.temperature) ** 4) * 5.6704e-8 * connecting_tiles * 2.5
- var/maximum_energy_delta = max(0, min(A.temperature * A.heat_capacity() * A.group_multiplier, B.temperature * B.heat_capacity() * B.group_multiplier))
- if(maximum_energy_delta > abs(energy_delta))
- if(energy_delta < 0)
- maximum_energy_delta *= -1
- energy_delta = maximum_energy_delta
-
- A.temperature -= energy_delta / (A.heat_capacity() * A.group_multiplier)
- B.temperature += energy_delta / (B.heat_capacity() * B.group_multiplier)
-
- /* This was bad an I feel bad.
- //Shares a specific ratio of gas between mixtures using simple weighted averages.
- var
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- ratio = sharing_lookup_table[6]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- full_heat_capacity = A.heat_capacity()
-
- s_full_heat_capacity = B.heat_capacity()
-
- temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity)
-
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[connecting_tiles]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- //We need to adjust it to account for the insulation settings.
- ratio *= 1 - vsc.connection_insulation
-
- A.temperature = max(0, (A.temperature - temp_avg) * (1- (ratio / max(1,A.group_multiplier)) ) + temp_avg )
- B.temperature = max(0, (B.temperature - temp_avg) * (1- (ratio / max(1,B.group_multiplier)) ) + temp_avg )
- */
-
- ///////////////////
- //Zone Rebuilding//
-///////////////////
-//Used for updating zone geometry when a zone is cut into two parts.
-
-zone/proc/Rebuild()
- if(last_rebuilt == air_master.current_cycle)
- return
-
- last_rebuilt = air_master.current_cycle
-
- var/list/new_zone_contents = IsolateContents()
- if(new_zone_contents.len == 1)
- return
-
- var/list/current_contents
- var/list/new_zones = list()
-
- contents = new_zone_contents[1]
- air.group_multiplier = contents.len
-
- for(var/identifier in 2 to new_zone_contents.len)
- current_contents = new_zone_contents[identifier]
- var/zone/new_zone = new (current_contents)
- new_zone.air.copy_from(air)
- new_zones += new_zone
-
- for(var/connection/connection in connections)
- connection.Cleanup()
-
- var/turf/simulated/adjacent
-
- for(var/turf/unsimulated in unsimulated_tiles)
- for(var/direction in cardinal)
- adjacent = get_step(unsimulated, direction)
-
- if(istype(adjacent) && adjacent.CanPass(null, unsimulated, 0, 0))
- for(var/zone/zone in new_zones)
- if(adjacent in zone)
- zone.AddTurf(unsimulated)
-
-
-//Implements a two-pass connected component labeling algorithm to determine if the zone is, in fact, split.
-
-/zone/proc/IsolateContents()
- var/list/current_adjacents = list()
- var/adjacent_id
- var/lowest_id
-
- var/list/identical_ids = list()
- var/list/turfs = contents.Copy()
- var/current_identifier = 1
-
- for(var/turf/simulated/current in turfs)
- lowest_id = null
- current_adjacents = list()
-
- for(var/direction in cardinal)
- var/turf/simulated/adjacent = get_step(current, direction)
- if(!current.ZCanPass(adjacent))
- continue
- if(adjacent in turfs)
- current_adjacents += adjacent
- adjacent_id = turfs[adjacent]
-
- if(adjacent_id && (!lowest_id || adjacent_id < lowest_id))
- lowest_id = adjacent_id
-
- if(!lowest_id)
- lowest_id = current_identifier++
- identical_ids += lowest_id
-
- for(var/turf/simulated/adjacent in current_adjacents)
- adjacent_id = turfs[adjacent]
- if(adjacent_id != lowest_id)
- if(adjacent_id)
- identical_ids[adjacent_id] = lowest_id
- turfs[adjacent] = lowest_id
- turfs[current] = lowest_id
-
- var/list/final_arrangement = list()
-
- for(var/turf/simulated/current in turfs)
- current_identifier = identical_ids[turfs[current]]
-
- if( current_identifier > final_arrangement.len )
- final_arrangement.len = current_identifier
- final_arrangement[current_identifier] = list(current)
-
- else
- //Sanity check.
- if(!islist(final_arrangement[current_identifier]))
- final_arrangement[current_identifier] = list()
- final_arrangement[current_identifier] += current
-
- //lazy but fast
- final_arrangement.Remove(null)
-
- return final_arrangement
-
-
-/*
- if(!RequiresRebuild())
- return
-
- //Choose a random turf and regenerate the zone from it.
- var/list/new_contents
- var/list/new_unsimulated
-
- var/list/turfs_needing_zones = list()
-
- var/list/zones_to_check_connections = list(src)
-
- if(!locate(/turf/simulated/floor) in contents)
- for(var/turf/simulated/turf in contents)
- air_master.ReconsiderTileZone(turf)
- return SoftDelete()
-
- var/turfs_to_ignore = list()
- if(direct_connections)
- for(var/connection/connection in direct_connections)
- if(connection.A.zone != src)
- turfs_to_ignore += A
- else if(connection.B.zone != src)
- turfs_to_ignore += B
-
- new_unsimulated = ( unsimulated_tiles ? unsimulated_tiles : list() )
-
- //Now, we have allocated the new turfs into proper lists, and we can start actually rebuilding.
-
- //If something isn't carried over, it will need a new zone.
- for(var/turf/T in contents)
- if(!(T in new_contents))
- RemoveTurf(T)
- turfs_needing_zones += T
-
- //Handle addition of new turfs
- for(var/turf/S in new_contents)
- if(!istype(S, /turf/simulated))
- new_unsimulated |= S
- new_contents.Remove(S)
-
- //If something new is added, we need to deal with it seperately.
- else if(!(S in contents) && istype(S, /turf/simulated))
- if(!(S.zone in zones_to_check_connections))
- zones_to_check_connections += S.zone
-
- S.zone.RemoveTurf(S)
- AddTurf(S)
-
- //Handle the addition of new unsimulated tiles.
- unsimulated_tiles = null
-
- if(new_unsimulated.len)
- for(var/turf/S in new_unsimulated)
- if(istype(S, /turf/simulated))
- continue
- for(var/direction in cardinal)
- var/turf/simulated/T = get_step(S,direction)
- if(istype(T) && T.zone && S.CanPass(null, T, 0, 0))
- T.zone.AddTurf(S)
-
- //Finally, handle the orphaned turfs
-
- for(var/turf/simulated/T in turfs_needing_zones)
- if(!T.zone)
- zones_to_check_connections += new /zone(T)
-
- for(var/zone/zone in zones_to_check_connections)
- for(var/connection/C in zone.connections)
- C.Cleanup()*/
-
diff --git a/code/ZAS - vg/Airflow.dm b/code/ZAS - vg/Airflow.dm
deleted file mode 100644
index 87f4bda7ecf..00000000000
--- a/code/ZAS - vg/Airflow.dm
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
-
-CONTAINS:
-All AirflowX() procs, all Variable Setting Controls for airflow, save/load variable tweaks for airflow.
-
-VARIABLES:
-
-atom/movable/airflow_dest
- The destination turf of a flying object.
-
-atom/movable/airflow_speed
- The speed (1-15) at which a flying object is traveling to airflow_dest. Decays over time.
-
-
-OVERLOADABLE PROCS:
-
-mob/airflow_stun()
- Contains checks for and results of being stunned by airflow.
- Called when airflow quantities exceed airflow_medium_pressure.
- RETURNS: Null
-
-atom/movable/check_airflow_movable(n)
- Contains checks for moving any object due to airflow.
- n is the pressure that is flowing.
- RETURNS: 1 if the object moves under the air conditions, 0 if it stays put.
-
-atom/movable/airflow_hit(atom/A)
- Contains results of hitting a solid object (A) due to airflow.
- A is the dense object hit.
- Use airflow_speed to determine how fast the projectile was going.
-
-
-AUTOMATIC PROCS:
-
-Airflow(zone/A, zone/B)
- Causes objects to fly along a pressure gradient.
- Called by zone updates. A and B are two connected zones.
-
-AirflowSpace(zone/A)
- Causes objects to fly into space.
- Called by zone updates. A is a zone connected to space.
-
-atom/movable/GotoAirflowDest(n)
-atom/movable/RepelAirflowDest(n)
- Called by main airflow procs to cause the object to fly to or away from destination at speed n.
- Probably shouldn't call this directly unless you know what you're
- doing and have set airflow_dest. airflow_hit() will be called if the object collides with an obstacle.
-
-*/
-
-mob/var/tmp/last_airflow_stun = 0
-mob/proc/airflow_stun()
- if(stat == 2)
- return 0
- if(last_airflow_stun > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_stun_cooldown)) return 0
- if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
- src << "\blue You stay upright as the air rushes past you."
- return 0
-
- if(zas_settings.Get(/datum/ZAS_Setting/airflow_push))
- if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
- weakened = max(weakened,5)
- last_airflow_stun = world.time
- return
- src << "\blue You stay upright as the air rushes past you."
- last_airflow_stun = world.time
-
-mob/living/silicon/airflow_stun()
- return
-
-mob/living/carbon/metroid/airflow_stun()
- return
-
-mob/living/carbon/human/airflow_stun()
- if(last_airflow_stun > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_stun_cooldown)) return 0
- if(buckled) return 0
- if(shoes)
- if(shoes.flags & NOSLIP) return 0
- if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
- src << "\blue You stay upright as the air rushes past you."
- return 0
-
- if(zas_settings.Get(/datum/ZAS_Setting/airflow_push))
- if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
- weakened = max(weakened,rand(1,5))
- last_airflow_stun = world.time
- return
- src << "\blue You stay upright as the air rushes past you."
- last_airflow_stun = world.time
-
-atom/movable/proc/check_airflow_movable(n)
- if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push))
- return 0
- if(anchored && !ismob(src))
- return 0
- if(!istype(src,/obj/item) && n < zas_settings.Get(/datum/ZAS_Setting/airflow_dense_pressure))
- return 0
-
- return 1
-
-mob/check_airflow_movable(n)
- if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_heavy_pressure))
- return 0
- return 1
-
-mob/dead/observer/check_airflow_movable()
- return 0
-
-mob/living/silicon/check_airflow_movable()
- return 0
-
-
-obj/item/check_airflow_movable(n)
- . = ..()
- switch(w_class)
- if(2)
- if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return 0
- if(3)
- if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_light_pressure)) return 0
- if(4,5)
- if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_medium_pressure)) return 0
-
-//The main airflow code. Called by zone updates.
-//Zones A and B are air zones. n represents the amount of air moved.
-
-proc/Airflow(zone/A, zone/B)
-
- var/n = B.air.return_pressure() - A.air.return_pressure()
-
- //Don't go any further if n is lower than the lowest value needed for airflow.
- if(abs(n) < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return
-
- //These turfs are the midway point between A and B, and will be the destination point for thrown objects.
- var/list/connection/connections_A = A.connections
- var/list/turf/connected_turfs = list()
- for(var/connection/C in connections_A) //Grab the turf that is in the zone we are flowing to (determined by n)
- if( ( A == C.A.zone || A == C.zone_A ) && ( B == C.B.zone || B == C.zone_B ) )
- if(n < 0)
- connected_turfs |= C.B
- else
- connected_turfs |= C.A
- else if( ( A == C.B.zone || A == C.zone_B ) && ( B == C.A.zone || B == C.zone_A ) )
- if(n < 0)
- connected_turfs |= C.A
- else
- connected_turfs |= C.B
-
- //Get lists of things that can be thrown across the room for each zone (assumes air is moving from zone B to zone A)
- var/list/air_sucked = B.movables()
- var/list/air_repelled = A.movables()
- if(n < 0)
- //air is moving from zone A to zone B
- var/list/temporary_pplz = air_sucked
- air_sucked = air_repelled
- air_repelled = temporary_pplz
- if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) // If enabled
- for(var/atom/movable/M in air_sucked)
- if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue
-
- //Check for knocking people over
- if(ismob(M) && n > zas_settings.Get(/datum/ZAS_Setting/airflow_stun_pressure))
- if(M:status_flags & GODMODE) continue
- M:airflow_stun()
-
- if(M.check_airflow_movable(n))
-
- //Check for things that are in range of the midpoint turfs.
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
-
- spawn M.GotoAirflowDest(abs(n)/5)
-
- //Do it again for the stuff in the other zone, making it fly away.
- for(var/atom/movable/M in air_repelled)
-
- if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue
-
- if(ismob(M) && abs(n) > zas_settings.Get(/datum/ZAS_Setting/airflow_medium_pressure))
- if(M:status_flags & GODMODE) continue
- M:airflow_stun()
-
- if(M.check_airflow_movable(abs(n)))
-
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
-
- spawn M.RepelAirflowDest(abs(n)/5)
-
-proc/AirflowSpace(zone/A)
-
- //The space version of the Airflow(A,B,n) proc.
-
- var/n = A.air.return_pressure()
- //Here, n is determined by only the pressure in the room.
-
- if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return
-
- var/list/connected_turfs = A.unsimulated_tiles //The midpoints are now all the space connections.
- var/list/pplz = A.movables() //We only need to worry about things in the zone, not things in space.
-
- if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) // If enabled
- for(var/atom/movable/M in pplz)
- if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue
-
- if(ismob(M) && n > zas_settings.Get(/datum/ZAS_Setting/airflow_stun_pressure))
- var/mob/O = M
- if(O.status_flags & GODMODE) continue
- O.airflow_stun()
-
- if(M.check_airflow_movable(n))
-
- var/list/close_turfs = list()
- for(var/turf/U in connected_turfs)
- if(M in range(U)) close_turfs += U
- if(!close_turfs.len) continue
-
- //If they're already being tossed, don't do it again.
- if(!M.airflow_speed)
-
- M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards.
- spawn
- if(M) M.GotoAirflowDest(n/10)
- //Sometimes shit breaks, and M isn't there after the spawn.
-
-
-/atom/movable/var/tmp/turf/airflow_dest
-/atom/movable/var/tmp/airflow_speed = 0
-/atom/movable/var/tmp/airflow_time = 0
-/atom/movable/var/tmp/last_airflow = 0
-
-/atom/movable/proc/GotoAirflowDest(n)
- if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push)) return // If not enabled, fuck it.
- if(!airflow_dest) return
- if(airflow_speed < 0) return
- if(last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) return
- if(airflow_speed)
- airflow_speed = n/max(get_dist(src,airflow_dest),1)
- return
- last_airflow = world.time
- if(airflow_dest == loc)
- step_away(src,loc)
- if(ismob(src))
- if(src:status_flags & GODMODE)
- return
- if(istype(src, /mob/living/carbon/human))
- if(src:buckled)
- return
- if(src:shoes)
- if(istype(src:shoes, /obj/item/clothing/shoes/magboots))
- if(src:shoes:magpulse)
- return
- src << "\red You are sucked away by airflow!"
- var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful.
- if(airflow_falloff < 1)
- airflow_dest = null
- return
- airflow_speed = min(max(n * (9/airflow_falloff),1),9)
- var
- xo = airflow_dest.x - src.x
- yo = airflow_dest.y - src.y
- od = 0
- airflow_dest = null
- if(!density)
- density = 1
- od = 1
- while(airflow_speed > 0)
- if(airflow_speed <= 0) return
- airflow_speed = min(airflow_speed,15)
- airflow_speed -= zas_settings.Get(/datum/ZAS_Setting/airflow_speed_decay)
- if(airflow_speed > 7)
- if(airflow_time++ >= airflow_speed - 7)
- if(od)
- density = 0
- sleep(1 * tick_multiplier)
- else
- if(od)
- density = 0
- sleep(max(1,10-(airflow_speed+3)) * tick_multiplier)
- if(od)
- density = 1
- if ((!( src.airflow_dest ) || src.loc == src.airflow_dest))
- src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z)
- if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
- return
- if(!istype(loc, /turf))
- return
- step_towards(src, src.airflow_dest)
- if(ismob(src) && src:client)
- src:client:move_delay = world.time + zas_settings.Get(/datum/ZAS_Setting/airflow_mob_slowdown)
- airflow_dest = null
- airflow_speed = 0
- airflow_time = 0
- if(od)
- density = 0
-
-
-/atom/movable/proc/RepelAirflowDest(n)
- if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push)) return // If not enabled, fuck it.
- if(!airflow_dest) return
- if(airflow_speed < 0) return
- if(last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) return
- if(airflow_speed)
- airflow_speed = n/max(get_dist(src,airflow_dest),1)
- return
- if(airflow_dest == loc)
- step_away(src,loc)
- if(ismob(src))
- if(src:status_flags & GODMODE)
- return
- if(istype(src, /mob/living/carbon/human))
- if(src:buckled)
- return
- if(src:shoes)
- if(istype(src:shoes, /obj/item/clothing/shoes/magboots))
- if(src:shoes.flags & NOSLIP)
- return
- src << "\red You are pushed away by airflow!"
- last_airflow = world.time
- var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful.
- if(airflow_falloff < 1)
- airflow_dest = null
- return
- airflow_speed = min(max(n * (9/airflow_falloff),1),9)
- var
- xo = -(airflow_dest.x - src.x)
- yo = -(airflow_dest.y - src.y)
- od = 0
- airflow_dest = null
- if(!density)
- density = 1
- od = 1
- while(airflow_speed > 0)
- if(airflow_speed <= 0) return
- airflow_speed = min(airflow_speed,15)
- airflow_speed -= zas_settings.Get(/datum/ZAS_Setting/airflow_speed_decay)
- if(airflow_speed > 7)
- if(airflow_time++ >= airflow_speed - 7)
- sleep(1 * tick_multiplier)
- else
- sleep(max(1,10-(airflow_speed+3)) * tick_multiplier)
- if ((!( src.airflow_dest ) || src.loc == src.airflow_dest))
- src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z)
- if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
- return
- if(!istype(loc, /turf))
- return
- step_towards(src, src.airflow_dest)
- if(ismob(src) && src:client)
- src:client:move_delay = world.time + zas_settings.Get(/datum/ZAS_Setting/airflow_mob_slowdown)
- airflow_dest = null
- airflow_speed = 0
- airflow_time = 0
- if(od)
- density = 0
-
-/atom/movable/Bump(atom/A)
- if(airflow_speed > 0 && airflow_dest)
- airflow_hit(A)
- else
- airflow_speed = 0
- airflow_time = 0
- . = ..()
-
-atom/movable/proc/airflow_hit(atom/A)
- airflow_speed = 0
- airflow_dest = null
-
-mob/airflow_hit(atom/A)
- for(var/mob/M in hearers(src))
- M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2)
- //playsound(src.loc, "smash.ogg", 25, 1, -1)
- weakened = max(weakened, (istype(A,/obj/item) ? A:w_class : rand(1,5))) //Heheheh
- . = ..()
-
-obj/airflow_hit(atom/A)
- for(var/mob/M in hearers(src))
- M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2)
- //playsound(src.loc, "smash.ogg", 25, 1, -1)
- . = ..()
-
-obj/item/airflow_hit(atom/A)
- airflow_speed = 0
- airflow_dest = null
-
-mob/living/carbon/human/airflow_hit(atom/A)
-// for(var/mob/M in hearers(src))
-// M.show_message("\red [src] slams into [A]!",1,"\red You hear a loud slam!",2)
- //playsound(src.loc, "punch", 25, 1, -1)
- loc:add_blood(src)
- if (src.wear_suit)
- src.wear_suit.add_blood(src)
- if (src.w_uniform)
- src.w_uniform.add_blood(src)
- var/b_loss = airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_damage)
-
- var/blocked = run_armor_check("head","melee")
- apply_damage(b_loss/3, BRUTE, "head", blocked, 0, "Airflow")
-
- blocked = run_armor_check("chest","melee")
- apply_damage(b_loss/3, BRUTE, "chest", blocked, 0, "Airflow")
-
- blocked = run_armor_check("groin","melee")
- apply_damage(b_loss/3, BRUTE, "groin", blocked, 0, "Airflow")
-
- if(zas_settings.Get(/datum/ZAS_Setting/airflow_push))
- if(airflow_speed > 10)
- paralysis += round(airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_stun))
- stunned = max(stunned,paralysis + 3)
- else
- stunned += round(airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_stun)/2)
-
- . = ..()
-
-zone/proc/movables()
- . = list()
- for(var/turf/T in contents)
- for(var/atom/A in T)
- if(istype(A, /obj/effect) || isobserver(A) || istype(A, /mob/camera))
- continue
- . += A
diff --git a/code/ZAS - vg/Connection.dm b/code/ZAS - vg/Connection.dm
deleted file mode 100644
index 8a919d50435..00000000000
--- a/code/ZAS - vg/Connection.dm
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
-This object is contained within zone/var/connections. It's generated whenever two turfs from different zones are linked.
-Indirect connections will not merge the two zones after they reach equilibrium.
-*/
-#define CONNECTION_DIRECT 2
-#define CONNECTION_INDIRECT 1
-#define CONNECTION_CLOSED 0
-
-/connection
- var/turf/simulated/A
- var/turf/simulated/B
-
- var/zone/zone_A
- var/zone/zone_B
-
- var/ref_A
- var/ref_B
-
- var/indirect = CONNECTION_DIRECT //If the connection is purely indirect, the zones should not join.
-
- var/last_updated //The tick at which this was last updated.
-
- var/no_zone_count = 0
-
-
-
-/connection/New(turf/T,turf/O)
- A = T
- B = O
- if(A.zone && B.zone)
- if(!A.zone.connections) A.zone.connections = list()
- A.zone.connections += src
- zone_A = A.zone
- ref_A = "\ref[A]"
-
- if(!B.zone.connections) B.zone.connections = list()
- B.zone.connections += src
- zone_B = B.zone
- ref_B = "\ref[B]"
-
- if(ref_A in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[ref_A]
- connections.Add(src)
- else
- air_master.turfs_with_connections[ref_A] = list(src)
-
- if(ref_B in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[ref_B]
- connections.Add(src)
- else
- air_master.turfs_with_connections[ref_B] = list(src)
-
- if(A.CanPass(null, B, 0, 0))
-
- ConnectZones(A.zone, B.zone, 1)
-
- if(A.HasDoor(B) || B.HasDoor(A))
- indirect = CONNECTION_INDIRECT
-
- else
- ConnectZones(A.zone, B.zone)
- indirect = CONNECTION_CLOSED
-
-
- else
- world.log << "Attempted to create connection object for non-zone tiles: [T] ([T.x],[T.y],[T.z]) -> [O] ([O.x],[O.y],[O.z])"
- del(src)
-
-
-/connection/Del()
- //remove connections from master lists.
- if(ref_B in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[ref_B]
- connections.Remove(src)
-
- if(ref_A in air_master.turfs_with_connections)
- var/list/connections = air_master.turfs_with_connections[ref_A]
- connections.Remove(src)
-
- //Remove connection from zones.
- if(A)
- if(A.zone && A.zone.connections)
- A.zone.connections.Remove(src)
- if(!A.zone.connections.len)
- A.zone.connections = null
-
- if(istype(zone_A) && (!A || A.zone != zone_A))
- if(zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(B)
- if(B.zone && B.zone.connections)
- B.zone.connections.Remove(src)
- if(!B.zone.connections.len)
- B.zone.connections = null
-
- if(istype(zone_B) && (!B || B.zone != zone_B))
- if(zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- //Disconnect zones while handling unusual conditions.
- // e.g. loss of a zone on a turf
- if(A && A.zone && B && B.zone)
- DisconnectZones(A.zone, B.zone)
-
- //Finally, preform actual deletion.
- . = ..()
-
-
-/connection/proc/ConnectZones(var/zone/zone_1, var/zone/zone_2, open = 0)
-
- //Sanity checking
- if(!istype(zone_1) || !istype(zone_2))
- return
-
- //Handle zones connecting indirectly/directly.
- if(open)
-
- //Create the lists if necessary.
- if(!zone_1.connected_zones)
- zone_1.connected_zones = list()
-
- if(!zone_2.connected_zones)
- zone_2.connected_zones = list()
-
- //Increase the number of connections between zones.
- if(zone_2 in zone_1.connected_zones)
- zone_1.connected_zones[zone_2]++
- else
- zone_1.connected_zones += zone_2
- zone_1.connected_zones[zone_2] = 1
-
- if(zone_1 in zone_2.connected_zones)
- zone_2.connected_zones[zone_1]++
- else
- zone_2.connected_zones += zone_1
- zone_2.connected_zones[zone_1] = 1
-
- //Handle closed connections.
- else
-
- //Create the lists
- if(!zone_1.closed_connection_zones)
- zone_1.closed_connection_zones = list()
-
- if(!zone_2.closed_connection_zones)
- zone_2.closed_connection_zones = list()
-
- //Increment the connections.
- if(zone_2 in zone_1.closed_connection_zones)
- zone_1.closed_connection_zones[zone_2]++
- else
- zone_1.closed_connection_zones += zone_2
- zone_1.closed_connection_zones[zone_2] = 1
-
- if(zone_1 in zone_2.closed_connection_zones)
- zone_2.closed_connection_zones[zone_1]++
- else
- zone_2.closed_connection_zones += zone_1
- zone_2.closed_connection_zones[zone_1] = 1
-
-
-/connection/proc/DisconnectZones(var/zone/zone_1, var/zone/zone_2)
- //Sanity checking
- if(!istype(zone_1) || !istype(zone_2))
- return
-
- if(indirect != CONNECTION_CLOSED)
- //Handle disconnection of indirectly or directly connected zones.
- if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) )
-
- //If there are more than one connection, decrement the number of connections
- //Otherwise, remove all connections between the zones.
- if(zone_2 in zone_1.connected_zones)
- if(zone_1.connected_zones[zone_2] > 1)
- zone_1.connected_zones[zone_2]--
- else
- zone_1.connected_zones -= zone_2
- //remove the list if it is empty
- if(!zone_1.connected_zones.len)
- zone_1.connected_zones = null
-
- //Then do the same for the other zone.
- if(zone_1 in zone_2.connected_zones)
- if(zone_2.connected_zones[zone_1] > 1)
- zone_2.connected_zones[zone_1]--
- else
- zone_2.connected_zones -= zone_1
- if(!zone_2.connected_zones.len)
- zone_2.connected_zones = null
-
- else
- //Handle disconnection of closed zones.
- if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) )
-
- //If there are more than one connection, decrement the number of connections
- //Otherwise, remove all connections between the zones.
- if(zone_2 in zone_1.closed_connection_zones)
- if(zone_1.closed_connection_zones[zone_2] > 1)
- zone_1.closed_connection_zones[zone_2]--
- else
- zone_1.closed_connection_zones -= zone_2
- //remove the list if it is empty
- if(!zone_1.closed_connection_zones.len)
- zone_1.closed_connection_zones = null
-
- //Then do the same for the other zone.
- if(zone_1 in zone_2.closed_connection_zones)
- if(zone_2.closed_connection_zones[zone_1] > 1)
- zone_2.closed_connection_zones[zone_1]--
- else
- zone_2.closed_connection_zones -= zone_1
- if(!zone_2.closed_connection_zones.len)
- zone_2.closed_connection_zones = null
-
-
-/connection/proc/Cleanup()
-
- //Check sanity: existance of turfs
- if(!A || !B)
- del src
-
- //Check sanity: zones are different
- if(A.zone == B.zone)
- del src
-
- //Check sanity: same turfs as before.
- if(ref_A != "\ref[A]" || ref_B != "\ref[B]")
- del src
-
- //Handle zones changing on a turf.
- if((A.zone && A.zone != zone_A) || (B.zone && B.zone != zone_B))
- Sanitize()
-
- //Manage sudden loss of a turfs zone. (e.g. a wall being built)
- if(!A.zone || !B.zone)
- no_zone_count++
- if(no_zone_count >= 5)
- //world.log << "Connection removed: [A] or [B] missing a zone."
- del src
- return 0
-
- return 1
-
-
-/connection/proc/CheckPassSanity()
- //Sanity check, first.
- Cleanup()
-
- if(A.zone && B.zone)
-
- //If no walls are blocking us...
- if(A.ZAirPass(B))
- //...we check to see if there is a door in the way...
- var/door_pass = A.CanPass(null,B,1.5,1)
- //...and if it is opened.
- if(door_pass || A.CanPass(null,B,0,0))
-
- //Make and remove connections to let air pass.
- if(indirect == CONNECTION_CLOSED)
- DisconnectZones(A.zone, B.zone)
- ConnectZones(A.zone, B.zone, 1)
-
- if(door_pass)
- indirect = CONNECTION_DIRECT
- else if(!door_pass)
- indirect = CONNECTION_INDIRECT
-
- //The door is instead closed.
- else if(indirect > CONNECTION_CLOSED)
- DisconnectZones(A.zone, B.zone)
- indirect = CONNECTION_CLOSED
- ConnectZones(A.zone, B.zone)
-
- //If I can no longer pass air, better delete
- else
- del src
-
-/connection/proc/Sanitize()
- //If the zones change on connected turfs, update it.
-
- //Both zones changed (wat)
- if(A.zone && A.zone != zone_A && B.zone && B.zone != zone_B)
-
- //If the zones have gotten swapped
- // (do not ask me how, I am just being anal retentive about sanity)
- if(A.zone == zone_B && B.zone == zone_A)
- var/turf/temp = B
- B = A
- A = temp
- zone_B = B.zone
- zone_A = A.zone
- var/temp_ref = ref_A
- ref_A = ref_B
- ref_B = temp_ref
- return
-
- //Handle removal of connections from archived zones.
- if(zone_A && zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(zone_B && zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- if(A.zone)
- if(!A.zone.connections)
- A.zone.connections = list()
- A.zone.connections |= src
-
- if(B.zone)
- if(!B.zone.connections)
- B.zone.connections = list()
- B.zone.connections |= src
-
- //If either zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!A.zone || !B.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_B, zone_A)
-
- if(!A.zone)
- zone_A = A.zone
-
- if(!B.zone)
- zone_B = B.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
-
- //resetting values of archived values.
- zone_B = B.zone
- zone_A = A.zone
-
- //The "A" zone changed.
- else if(A.zone && A.zone != zone_A)
-
- //Handle connection cleanup
- if(zone_A)
- if(zone_A.connections)
- zone_A.connections.Remove(src)
- if(!zone_A.connections.len)
- zone_A.connections = null
-
- if(A.zone)
- if(!A.zone.connections)
- A.zone.connections = list()
- A.zone.connections |= src
-
- //If the "A" zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!A.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- zone_A = A.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
- zone_A = A.zone
-
- //The "B" zone changed.
- else if(B.zone && B.zone != zone_B)
-
- //Handle connection cleanup
- if(zone_B)
- if(zone_B.connections)
- zone_B.connections.Remove(src)
- if(!zone_B.connections.len)
- zone_B.connections = null
-
- if(B.zone)
- if(!B.zone.connections)
- B.zone.connections = list()
- B.zone.connections |= src
-
- //If the "B" zone is null, we disconnect the archived ones after cleaning up the connections.
- if(!B.zone)
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- zone_B = B.zone
- return
-
- //Handle diconnection and reconnection of zones.
- if(zone_A && zone_B)
- DisconnectZones(zone_A, zone_B)
- ConnectZones(A.zone, B.zone, indirect)
- zone_B = B.zone
-
-
-#undef CONNECTION_DIRECT
-#undef CONNECTION_INDIRECT
-#undef CONNECTION_CLOSED
\ No newline at end of file
diff --git a/code/ZAS - vg/Debug.dm b/code/ZAS - vg/Debug.dm
deleted file mode 100644
index 6586cbaaecf..00000000000
--- a/code/ZAS - vg/Debug.dm
+++ /dev/null
@@ -1,122 +0,0 @@
-
-client/proc/Zone_Info(turf/T as null|turf)
- set category = "Debug"
- if(T)
- if(T.zone)
- T.zone.DebugDisplay(src)
- else
- mob << "No zone here."
- else
- if(zone_debug_images)
- for(var/zone in zone_debug_images)
- images -= zone_debug_images[zone]
- zone_debug_images = null
-
-client/var/list/zone_debug_images
-
-client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf)
- set category = "Debug"
- if(!istype(T))
- return
-
- var/direction_list = list(\
- "North" = NORTH,\
- "South" = SOUTH,\
- "East" = EAST,\
- "West" = WEST,\
- "N/A" = null)
- var/direction = input("What direction do you wish to test?","Set direction") as null|anything in direction_list
- if(!direction)
- return
-
- if(direction == "N/A")
- if(T.CanPass(null, T, 0,0))
- mob << "The turf can pass air! :D"
- else
- mob << "No air passage :x"
- return
-
- var/turf/simulated/other_turf = get_step(T, direction_list[direction])
- if(!istype(other_turf))
- return
-
- var/pass_directions = T.CanPass(null, other_turf, 0, 0) + 2 * other_turf.CanPass(null, T, 0, 0)
-
- switch(pass_directions)
- if(0)
- mob << "Neither turf can connect. :("
-
- if(1)
- mob << "The initial turf only can connect. :\\"
-
- if(2)
- mob << "The other turf can connect, but not the initial turf. :/"
-
- if(3)
- mob << "Both turfs can connect! :)"
-
-
-zone/proc/DebugDisplay(client/client)
- if(!istype(client))
- return
-
- if(!dbg_output)
- dbg_output = 1 //Don't want to be spammed when someone investigates a zone...
-
- if(!client.zone_debug_images)
- client.zone_debug_images = list()
-
- var/list/current_zone_images = list()
-
- for(var/turf/T in contents)
- current_zone_images += image('icons/misc/debug_group.dmi', T, null, TURF_LAYER)
-
- for(var/turf/space/S in unsimulated_tiles)
- current_zone_images += image('icons/misc/debug_space.dmi', S, null, TURF_LAYER)
-
- client << "Zone Air Contents"
- client << "Oxygen: [air.oxygen]"
- client << "Nitrogen: [air.nitrogen]"
- client << "Plasma: [air.toxins]"
- client << "Carbon Dioxide: [air.carbon_dioxide]"
- client << "Temperature: [air.temperature] K"
- client << "Heat Energy: [air.temperature * air.heat_capacity()] J"
- client << "Pressure: [air.return_pressure()] KPa"
- client << ""
- client << "Space Tiles: [length(unsimulated_tiles)]"
- client << "Movable Objects: [length(movables())]"
- client << "Connections: [length(connections)]"
-
- for(var/connection/C in connections)
- client << "\ref[C] [C.A] --> [C.B] [(C.indirect?"Open":"Closed")]"
- current_zone_images += image('icons/misc/debug_connect.dmi', C.A, null, TURF_LAYER)
- current_zone_images += image('icons/misc/debug_connect.dmi', C.B, null, TURF_LAYER)
-
- client << "Connected Zones:"
- for(var/zone/zone in connected_zones)
- client << "\ref[zone] [zone] - [connected_zones[zone]] (Connected)"
-
- for(var/zone/zone in closed_connection_zones)
- client << "\ref[zone] [zone] - [closed_connection_zones[zone]] (Unconnected)"
-
- for(var/C in connections)
- if(!istype(C,/connection))
- client << "[C] (Not Connection!)"
-
- if(!client.zone_debug_images)
- client.zone_debug_images = list()
- client.zone_debug_images[src] = current_zone_images
-
- client.images += client.zone_debug_images[src]
-
- else
- dbg_output = 0
-
- client.images -= client.zone_debug_images[src]
- client.zone_debug_images.Remove(src)
-
- for(var/zone/Z in zones)
- if(Z.air == air && Z != src)
- var/turf/zloc = pick(Z.contents)
- client << "\red Illegal air datum shared by: [zloc.loc.name]"
-
diff --git a/code/ZAS - vg/FEA_gas_mixture.dm b/code/ZAS - vg/FEA_gas_mixture.dm
deleted file mode 100644
index 37c53c8feda..00000000000
--- a/code/ZAS - vg/FEA_gas_mixture.dm
+++ /dev/null
@@ -1,1055 +0,0 @@
-/*
-What are the archived variables for?
- Calculations are done using the archived variables with the results merged into the regular variables.
- This prevents race conditions that arise based on the order of tile processing.
-*/
-
-#define SPECIFIC_HEAT_TOXIN 200
-#define SPECIFIC_HEAT_AIR 20
-#define SPECIFIC_HEAT_CDO 30
-#define HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) \
- (carbon_dioxide*SPECIFIC_HEAT_CDO + (oxygen+nitrogen)*SPECIFIC_HEAT_AIR + toxins*SPECIFIC_HEAT_TOXIN)
-
-#define MINIMUM_HEAT_CAPACITY 0.0003
-#define QUANTIZE(variable) (round(variable,0.0001))
-#define TRANSFER_FRACTION 5 //What fraction (1/#) of the air difference to try and transfer
-
-#define TEMPERATURE_ICE_FORMATION 273.15 // 273 kelvin is the freezing point of water.
-#define MIN_PRESSURE_ICE_FORMATION 10 // 10kPa should be okay
-
-#define GRAPHICS_PLASMA 1
-#define GRAPHICS_N2O 2
-#define GRAPHICS_REAGENTS 4 // Not used. Yet.
-#define GRAPHICS_COLD 8
-
-
-/datum/gas/sleeping_agent/specific_heat = 40 //These are used for the "Trace Gases" stuff, but is buggy.
-
-/datum/gas/oxygen_agent_b/specific_heat = 300
-
-/datum/gas/volatile_fuel/specific_heat = 30
-
-/datum/gas
- var/moles = 0
-
- var/specific_heat = 0
-
- var/moles_archived = 0
-
-/datum/gas_mixture/
- var/oxygen = 0 //Holds the "moles" of each of the four gases.
- var/carbon_dioxide = 0
- var/nitrogen = 0
- var/toxins = 0
-
- var/total_moles = 0 //Updated when a reaction occurs.
-
- var/volume = CELL_VOLUME
-
- var/temperature = 0 //in Kelvin, use calculate_temperature() to modify
-
- var/group_multiplier = 1
- //Size of the group this gas_mixture is representing.
- //=1 for singletons
-
- var/graphics=0
-
- var/list/datum/gas/trace_gases = list() //Seemed to be a good idea that was abandoned
-
- var/tmp/oxygen_archived //These are variables for use with the archived data
- var/tmp/carbon_dioxide_archived
- var/tmp/nitrogen_archived
- var/tmp/toxins_archived
-
- var/tmp/temperature_archived
-
- var/tmp/graphics_archived = 0
- var/tmp/fuel_burnt = 0
-
-//FOR THE LOVE OF GOD PLEASE USE THIS PROC
-//Call it with negative numbers to remove gases.
-
-/datum/gas_mixture/proc/adjust(o2 = 0, co2 = 0, n2 = 0, tx = 0, list/datum/gas/traces = list())
- //Purpose: Adjusting the gases within a airmix
- //Called by: Nothing, yet!
- //Inputs: The values of the gases to adjust
- //Outputs: null
-
- oxygen = max(0, oxygen + o2)
- carbon_dioxide = max(0, carbon_dioxide + co2)
- nitrogen = max(0, nitrogen + n2)
- toxins = max(0, toxins + tx)
-
- //handle trace gasses
- for(var/datum/gas/G in traces)
- var/datum/gas/T = locate(G.type) in trace_gases
- if(T)
- T.moles = max(G.moles + T.moles, 0)
- else if(G.moles > 0)
- trace_gases |= G
- update_values()
- return
-
-//tg seems to like using these a lot
-/datum/gas_mixture/proc/return_temperature()
- return temperature
-
-
-/datum/gas_mixture/proc/return_volume()
- return max(0, volume)
-
-
-/datum/gas_mixture/proc/thermal_energy()
- return temperature*heat_capacity()
-
-///////////////////////////////
-//PV=nRT - related procedures//
-///////////////////////////////
-
-/datum/gas_mixture/proc/heat_capacity()
- //Purpose: Returning the heat capacity of the gas mix
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: Heat capacity
-
- var/heat_capacity = HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins)
-
- if(trace_gases && trace_gases.len) //sanity check because somehow the tracegases gets nulled?
- for(var/datum/gas/trace_gas in trace_gases)
- heat_capacity += trace_gas.moles*trace_gas.specific_heat
-
- return max(MINIMUM_HEAT_CAPACITY,heat_capacity)
-
-/datum/gas_mixture/proc/heat_capacity_archived()
- //Purpose: Returning the archived heat capacity of the gas mix
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: Archived heat capacity
-
- var/heat_capacity_archived = HEAT_CAPACITY_CALCULATION(oxygen_archived,carbon_dioxide_archived,nitrogen_archived,toxins_archived)
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- heat_capacity_archived += trace_gas.moles_archived*trace_gas.specific_heat
-
- return max(MINIMUM_HEAT_CAPACITY,heat_capacity_archived)
-
-/datum/gas_mixture/proc/total_moles()
- return total_moles
- /*var/moles = oxygen + carbon_dioxide + nitrogen + toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- moles += trace_gas.moles
- return moles*/
-
-/datum/gas_mixture/proc/return_pressure()
- //Purpose: Calculating Current Pressure
- //Called by:
- //Inputs: None
- //Outputs: Gas pressure.
-
- if(volume>0)
- return total_moles()*R_IDEAL_GAS_EQUATION*temperature/volume
- return 0
-
-// proc/return_temperature()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return temperature
-
-// proc/return_volume()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return max(0, volume)
-
-// proc/thermal_energy()
- //Purpose:
- //Inputs:
- //Outputs:
-
-// return temperature*heat_capacity()
-
-/datum/gas_mixture/proc/update_values()
- //Purpose: Calculating and storing values which were normally called CONSTANTLY
- //Called by: Anything that changes values within a gas mix.
- //Inputs: None
- //Outputs: None
-
- total_moles = oxygen + carbon_dioxide + nitrogen + toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- total_moles += trace_gas.moles
-
- return
-
-////////////////////////////////////////////
-//Procedures used for very specific events//
-////////////////////////////////////////////
-
-/datum/gas_mixture/proc/check_tile_graphic()
- //Purpose: Calculating the graphic for a tile
- //Called by: Turfs updating
- //Inputs: None
- //Outputs: 1 if graphic changed, 0 if unchanged
-
- graphics = 0
-
- // If configured and cold, maek ice
- if(zas_settings.Get(/datum/ZAS_Setting/ice_formation))
- if(temperature <= TEMPERATURE_ICE_FORMATION && return_pressure()>MIN_PRESSURE_ICE_FORMATION)
- // If we're just forming, do a probability check. Otherwise, KEEP IT ON~
- // This ordering will hopefully keep it from sampling random noise every damn tick.
- //if(was_icy || (!was_icy && prob(25)))
- graphics |= GRAPHICS_COLD
-
- if(toxins > MOLES_PLASMA_VISIBLE)
- graphics |= GRAPHICS_PLASMA
- if(length(trace_gases))
- var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in trace_gases
- if(sleeping_agent && (sleeping_agent.moles > 1))
- graphics |= GRAPHICS_N2O
-
- /*
- var/datum/gas/reagent = exact_locate(/datum/gas/reagent,trace_gases)
- if(reagent && (reagent.moles > 0.1))
- graphics |= GRAPHICS_REAGENTS
- */
-
- return graphics != graphics_archived
-
-/datum/gas_mixture/proc/react(atom/dump_location)
- //Purpose: Calculating if it is possible for a fire to occur in the airmix
- //Called by: Air mixes updating?
- //Inputs: None
- //Outputs: If a fire occured
-
- var/reacting = 0 //set to 1 if a notable reaction occured (used by pipe_network)
-
- if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
- if(zburn(null) > 0)
- reacting = 1
-
- return reacting
-
-/datum/gas_mixture/proc/fire()
- //Purpose: Calculating any fire reactions.
- //Called by: react() (See above)
- //Inputs: None
- //Outputs: How much fuel burned
-
- return zburn(null)
-
- /*var/energy_released = 0
- var/old_heat_capacity = heat_capacity()
-
- var/datum/gas/volatile_fuel/fuel_store = locate(/datum/gas/volatile_fuel) in trace_gases
- if(fuel_store) //General volatile gas burn
- var/burned_fuel = 0
-
- if(oxygen < fuel_store.moles)
- burned_fuel = oxygen
- fuel_store.moles -= burned_fuel
- oxygen = 0
- else
- burned_fuel = fuel_store.moles
- oxygen -= fuel_store.moles
- del(fuel_store)
-
- energy_released += FIRE_CARBON_ENERGY_RELEASED * burned_fuel
- carbon_dioxide += burned_fuel
- fuel_burnt += burned_fuel
-
- //Handle plasma burning
- if(toxins > MINIMUM_HEAT_CAPACITY)
- var/plasma_burn_rate = 0
- var/oxygen_burn_rate = 0
- //more plasma released at higher temperatures
- var/temperature_scale
- if(temperature > PLASMA_UPPER_TEMPERATURE)
- temperature_scale = 1
- else
- temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE)
- if(temperature_scale > 0)
- oxygen_burn_rate = 1.4 - temperature_scale
- if(oxygen > toxins*PLASMA_OXYGEN_FULLBURN)
- plasma_burn_rate = (toxins*temperature_scale)/4
- else
- plasma_burn_rate = (temperature_scale*(oxygen/PLASMA_OXYGEN_FULLBURN))/4
- if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY)
- toxins -= plasma_burn_rate
- oxygen -= plasma_burn_rate*oxygen_burn_rate
- carbon_dioxide += plasma_burn_rate
-
- energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate)
-
- fuel_burnt += (plasma_burn_rate)*(1+oxygen_burn_rate)
-
- if(energy_released > 0)
- var/new_heat_capacity = heat_capacity()
- if(new_heat_capacity > MINIMUM_HEAT_CAPACITY)
- temperature = (temperature*old_heat_capacity + energy_released)/new_heat_capacity
- update_values()
-
- return fuel_burnt*/
-
-//////////////////////////////////////////////
-//Procs for general gas spread calculations.//
-//////////////////////////////////////////////
-
-
-/datum/gas_mixture/proc/archive()
- //Purpose: Archives the current gas values
- //Called by: UNKNOWN
- //Inputs: None
- //Outputs: 1
-
- oxygen_archived = oxygen
- carbon_dioxide_archived = carbon_dioxide
- nitrogen_archived = nitrogen
- toxins_archived = toxins
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- trace_gas.moles_archived = trace_gas.moles
-
- temperature_archived = temperature
-
- graphics_archived = graphics
-
- return 1
-
-/datum/gas_mixture/proc/check_then_merge(datum/gas_mixture/giver)
- //Purpose: Similar to merge(...) but first checks to see if the amount of air assumed is small enough
- // that group processing is still accurate for source (aborts if not)
- //Called by: airgroups/machinery expelling air, ?
- //Inputs: The gas to try and merge
- //Outputs: 1 on successful merge. 0 otherwise.
-
- if(!giver)
- return 0
- if(((giver.oxygen > MINIMUM_AIR_TO_SUSPEND) && (giver.oxygen >= oxygen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.carbon_dioxide > MINIMUM_AIR_TO_SUSPEND) && (giver.carbon_dioxide >= carbon_dioxide*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.nitrogen > MINIMUM_AIR_TO_SUSPEND) && (giver.nitrogen >= nitrogen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((giver.toxins > MINIMUM_AIR_TO_SUSPEND) && (giver.toxins >= toxins*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
- if(abs(giver.temperature - temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(giver.trace_gases.len)
- for(var/datum/gas/trace_gas in giver.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if((trace_gas.moles > MINIMUM_AIR_TO_SUSPEND) && (!corresponding || (trace_gas.moles >= corresponding.moles*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
-
- return merge(giver)
-
-/datum/gas_mixture/proc/merge(datum/gas_mixture/giver)
- //Purpose: Merges all air from giver into self. Deletes giver.
- //Called by: Machinery expelling air, check_then_merge, ?
- //Inputs: The gas to merge.
- //Outputs: 1
-
- if(!giver)
- return 0
-
- if(abs(temperature-giver.temperature)>MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()*group_multiplier
- var/giver_heat_capacity = giver.heat_capacity()*giver.group_multiplier
- var/combined_heat_capacity = giver_heat_capacity + self_heat_capacity
- if(combined_heat_capacity != 0)
- temperature = (giver.temperature*giver_heat_capacity + temperature*self_heat_capacity)/combined_heat_capacity
-
- if((group_multiplier>1)||(giver.group_multiplier>1))
- oxygen += giver.oxygen*giver.group_multiplier/group_multiplier
- carbon_dioxide += giver.carbon_dioxide*giver.group_multiplier/group_multiplier
- nitrogen += giver.nitrogen*giver.group_multiplier/group_multiplier
- toxins += giver.toxins*giver.group_multiplier/group_multiplier
- else
- oxygen += giver.oxygen
- carbon_dioxide += giver.carbon_dioxide
- nitrogen += giver.nitrogen
- toxins += giver.toxins
-
- if(giver.trace_gases.len)
- for(var/datum/gas/trace_gas in giver.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(!corresponding)
- corresponding = new trace_gas.type()
- trace_gases += corresponding
- corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier
- update_values()
-
- // Let the garbage collector handle it, faster according to /tg/ testers
- //del(giver)
- return 1
-
-/datum/gas_mixture/proc/remove(amount)
- //Purpose: Removes a certain number of moles from the air.
- //Called by: ?
- //Inputs: How many moles to remove.
- //Outputs: Removed air.
-
- // Fix a singuloth problem
- if(group_multiplier==0)
- return null
-
- var/sum = total_moles()
- amount = min(amount,sum) //Can not take more air than tile has!
- if(amount <= 0)
- return null
-
- var/datum/gas_mixture/removed = new
-
-
- removed.oxygen = QUANTIZE((oxygen/sum)*amount)
- removed.nitrogen = QUANTIZE((nitrogen/sum)*amount)
- removed.carbon_dioxide = QUANTIZE((carbon_dioxide/sum)*amount)
- removed.toxins = QUANTIZE((toxins/sum)*amount)
-
- oxygen -= removed.oxygen/group_multiplier
- nitrogen -= removed.nitrogen/group_multiplier
- carbon_dioxide -= removed.carbon_dioxide/group_multiplier
- toxins -= removed.toxins/group_multiplier
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- removed.trace_gases += corresponding
-
- corresponding.moles = (trace_gas.moles/sum)*amount
- trace_gas.moles -= corresponding.moles/group_multiplier
-
- removed.temperature = temperature
- update_values()
- removed.update_values()
-
- return removed
-
-/datum/gas_mixture/proc/remove_ratio(ratio)
- //Purpose: Removes a certain ratio of the air.
- //Called by: ?
- //Inputs: Percentage to remove.
- //Outputs: Removed air.
-
- if(ratio <= 0)
- return null
-
- ratio = min(ratio, 1)
-
- var/datum/gas_mixture/removed = new
-
- removed.oxygen = QUANTIZE(oxygen*ratio)
- removed.nitrogen = QUANTIZE(nitrogen*ratio)
- removed.carbon_dioxide = QUANTIZE(carbon_dioxide*ratio)
- removed.toxins = QUANTIZE(toxins*ratio)
-
- oxygen -= removed.oxygen/group_multiplier
- nitrogen -= removed.nitrogen/group_multiplier
- carbon_dioxide -= removed.carbon_dioxide/group_multiplier
- toxins -= removed.toxins/group_multiplier
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- removed.trace_gases += corresponding
-
- corresponding.moles = trace_gas.moles*ratio
- trace_gas.moles -= corresponding.moles/group_multiplier
-
- removed.temperature = temperature
- update_values()
- removed.update_values()
-
- return removed
-
-/datum/gas_mixture/proc/check_then_remove(amount)
- //Purpose: Similar to remove(...) but first checks to see if the amount of air removed is small enough
- // that group processing is still accurate for source (aborts if not)
- //Called by: ?
- //Inputs: Number of moles to remove
- //Outputs: Removed air or 0 if it can remove air or not.
-
- amount = min(amount,total_moles()) //Can not take more air than tile has!
-
- if((amount > MINIMUM_AIR_RATIO_TO_SUSPEND) && (amount > total_moles()*MINIMUM_AIR_RATIO_TO_SUSPEND))
- return 0
-
- return remove(amount)
-
-/datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample)
- //Purpose: Duplicates the sample air mixture.
- //Called by: airgroups splitting, ?
- //Inputs: Gas to copy
- //Outputs: 1
-
- oxygen = sample.oxygen
- carbon_dioxide = sample.carbon_dioxide
- nitrogen = sample.nitrogen
- toxins = sample.toxins
- total_moles = sample.total_moles()
-
- trace_gases.len=null
- if(sample.trace_gases.len > 0)
- for(var/datum/gas/trace_gas in sample.trace_gases)
- var/datum/gas/corresponding = new trace_gas.type()
- trace_gases += corresponding
-
- corresponding.moles = trace_gas.moles
-
- temperature = sample.temperature
-
- return 1
-
-/datum/gas_mixture/proc/check_gas_mixture(datum/gas_mixture/sharer)
- //Purpose: Telling if one or both airgroups needs to disable group processing.
- //Called by: Airgroups sharing air, checking if group processing needs disabled.
- //Inputs: Gas to compare from other airgroup
- //Outputs: 0 if the self-check failed (local airgroup breaks?)
- // then -1 if sharer-check failed (sharing airgroup breaks?)
- // then 1 if both checks pass (share succesful?)
- if(!istype(sharer))
- return
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(sharer.trace_gases.len)
- for(var/datum/gas/trace_gas in sharer.trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4)
- return 0
- else
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- if(!locate(trace_gas.type) in sharer.trace_gases)
- return 0
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= sharer.oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= sharer.carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= sharer.nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= sharer.toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return -1
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases
- if(corresponding)
- if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4)
- return -1
- else
- return -1
-
- return 1
-
-/datum/gas_mixture/proc/check_turf(turf/model)
- //Purpose: Used to compare the gases in an unsimulated turf with the gas in a simulated one.
- //Called by: Sharing air (mimicing) with adjacent unsimulated turfs
- //Inputs: Unsimulated turf
- //Outputs: 1 if safe to mimic, 0 if needs to break airgroup.
-
- var/delta_oxygen = (oxygen_archived - model.oxygen)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = (carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION
- var/delta_nitrogen = (nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION
- var/delta_toxins = (toxins_archived - model.toxins)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - model.temperature)
-
- if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \
- || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)))
- return 0
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND)
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4)
- return 0
-
- return 1
-
-/datum/gas_mixture/proc/share(datum/gas_mixture/sharer)
- //Purpose: Used to transfer gas from a more pressurised tile to a less presurised tile
- // (Two directional, if the other tile is more pressurised, air travels to current tile)
- //Called by: Sharing air with adjacent simulated turfs
- //Inputs: Air datum to share with
- //Outputs: Amount of gas exchanged (Negative if lost air, positive if gained.)
-
-
- if(!istype(sharer))
- return
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/old_self_heat_capacity = 0
- var/old_sharer_heat_capacity = 0
-
- var/heat_self_to_sharer = 0
- var/heat_capacity_self_to_sharer = 0
- var/heat_sharer_to_self = 0
- var/heat_capacity_sharer_to_self = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
-
- var/delta_air = delta_oxygen+delta_nitrogen
- if(delta_air)
- var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air
- if(delta_air > 0)
- heat_self_to_sharer += air_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += air_heat_capacity
- else
- heat_sharer_to_self -= air_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= air_heat_capacity
-
- if(delta_carbon_dioxide)
- var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide
- if(delta_carbon_dioxide > 0)
- heat_self_to_sharer += carbon_dioxide_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += carbon_dioxide_heat_capacity
- else
- heat_sharer_to_self -= carbon_dioxide_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= carbon_dioxide_heat_capacity
-
- if(delta_toxins)
- var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins
- if(delta_toxins > 0)
- heat_self_to_sharer += toxins_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += toxins_heat_capacity
- else
- heat_sharer_to_self -= toxins_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= toxins_heat_capacity
-
- old_self_heat_capacity = heat_capacity()*group_multiplier
- old_sharer_heat_capacity = sharer.heat_capacity()*sharer.group_multiplier
-
- oxygen -= delta_oxygen/group_multiplier
- sharer.oxygen += delta_oxygen/sharer.group_multiplier
-
- carbon_dioxide -= delta_carbon_dioxide/group_multiplier
- sharer.carbon_dioxide += delta_carbon_dioxide/sharer.group_multiplier
-
- nitrogen -= delta_nitrogen/group_multiplier
- sharer.nitrogen += delta_nitrogen/sharer.group_multiplier
-
- toxins -= delta_toxins/group_multiplier
- sharer.toxins += delta_toxins/sharer.group_multiplier
-
- var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins)
-
- var/list/trace_types_considered = list()
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
-
- var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases
- var/delta = 0
-
- if(corresponding)
- delta = QUANTIZE(trace_gas.moles_archived - corresponding.moles_archived)/TRANSFER_FRACTION
- else
- corresponding = new trace_gas.type()
- sharer.trace_gases += corresponding
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- trace_gas.moles -= delta/group_multiplier
- corresponding.moles += delta/sharer.group_multiplier
-
- if(delta)
- var/individual_heat_capacity = trace_gas.specific_heat*delta
- if(delta > 0)
- heat_self_to_sharer += individual_heat_capacity*temperature_archived
- heat_capacity_self_to_sharer += individual_heat_capacity
- else
- heat_sharer_to_self -= individual_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self -= individual_heat_capacity
-
- moved_moles += delta
-
- trace_types_considered += trace_gas.type
-
-
- if(sharer.trace_gases.len)
- for(var/datum/gas/trace_gas in sharer.trace_gases)
- if(trace_gas.type in trace_types_considered) continue
- else
- var/datum/gas/corresponding
- var/delta = 0
-
- corresponding = new trace_gas.type()
- trace_gases += corresponding
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- trace_gas.moles -= delta/sharer.group_multiplier
- corresponding.moles += delta/group_multiplier
-
- //Guaranteed transfer from sharer to self
- var/individual_heat_capacity = trace_gas.specific_heat*delta
- heat_sharer_to_self += individual_heat_capacity*sharer.temperature_archived
- heat_capacity_sharer_to_self += individual_heat_capacity
-
- moved_moles += -delta
- update_values()
- sharer.update_values()
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/new_self_heat_capacity = old_self_heat_capacity + heat_capacity_sharer_to_self - heat_capacity_self_to_sharer
- var/new_sharer_heat_capacity = old_sharer_heat_capacity + heat_capacity_self_to_sharer - heat_capacity_sharer_to_self
-
- if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY)
- temperature = (old_self_heat_capacity*temperature - heat_capacity_self_to_sharer*temperature_archived + heat_capacity_sharer_to_self*sharer.temperature_archived)/new_self_heat_capacity
-
- if(new_sharer_heat_capacity > MINIMUM_HEAT_CAPACITY)
- sharer.temperature = (old_sharer_heat_capacity*sharer.temperature-heat_capacity_sharer_to_self*sharer.temperature_archived + heat_capacity_self_to_sharer*temperature_archived)/new_sharer_heat_capacity
-
- if(abs(old_sharer_heat_capacity) > MINIMUM_HEAT_CAPACITY)
- if(abs(new_sharer_heat_capacity/old_sharer_heat_capacity - 1) < 0.10) // <10% change in sharer heat capacity
- temperature_share(sharer, OPEN_HEAT_TRANSFER_COEFFICIENT)
-
- if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE)
- var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - sharer.temperature_archived*(sharer.total_moles() - moved_moles)
- return delta_pressure*R_IDEAL_GAS_EQUATION/volume
-
- else
- return 0
-
-/datum/gas_mixture/proc/mimic(turf/model, border_multiplier)
- //Purpose: Used transfer gas from a more pressurised tile to a less presurised unsimulated tile.
- //Called by: "sharing" from unsimulated to simulated turfs.
- //Inputs: Unsimulated turf, Multiplier for gas transfer (optional)
- //Outputs: Amount of gas exchanged
-
- var/delta_oxygen = QUANTIZE(oxygen_archived - model.oxygen)/TRANSFER_FRACTION
- var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION
- var/delta_nitrogen = QUANTIZE(nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION
- var/delta_toxins = QUANTIZE(toxins_archived - model.toxins)/TRANSFER_FRACTION
-
- var/delta_temperature = (temperature_archived - model.temperature)
-
- var/heat_transferred = 0
- var/old_self_heat_capacity = 0
- var/heat_capacity_transferred = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
-
- var/delta_air = delta_oxygen+delta_nitrogen
- if(delta_air)
- var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air
- heat_transferred -= air_heat_capacity*model.temperature
- heat_capacity_transferred -= air_heat_capacity
-
- if(delta_carbon_dioxide)
- var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide
- heat_transferred -= carbon_dioxide_heat_capacity*model.temperature
- heat_capacity_transferred -= carbon_dioxide_heat_capacity
-
- if(delta_toxins)
- var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins
- heat_transferred -= toxins_heat_capacity*model.temperature
- heat_capacity_transferred -= toxins_heat_capacity
-
- old_self_heat_capacity = heat_capacity()*group_multiplier
-
- if(border_multiplier)
- oxygen -= delta_oxygen*border_multiplier/group_multiplier
- carbon_dioxide -= delta_carbon_dioxide*border_multiplier/group_multiplier
- nitrogen -= delta_nitrogen*border_multiplier/group_multiplier
- toxins -= delta_toxins*border_multiplier/group_multiplier
- else
- oxygen -= delta_oxygen/group_multiplier
- carbon_dioxide -= delta_carbon_dioxide/group_multiplier
- nitrogen -= delta_nitrogen/group_multiplier
- toxins -= delta_toxins/group_multiplier
-
- var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins)
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- var/delta = 0
-
- delta = trace_gas.moles_archived/TRANSFER_FRACTION
-
- if(border_multiplier)
- trace_gas.moles -= delta*border_multiplier/group_multiplier
- else
- trace_gas.moles -= delta/group_multiplier
-
- var/heat_cap_transferred = delta*trace_gas.specific_heat
- heat_transferred += heat_cap_transferred*temperature_archived
- heat_capacity_transferred += heat_cap_transferred
- moved_moles += delta
- update_values()
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/new_self_heat_capacity = old_self_heat_capacity - heat_capacity_transferred
- if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY)
- if(border_multiplier)
- temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity
- else
- temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity
-
- temperature_mimic(model, model.thermal_conductivity, border_multiplier)
-
- if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE)
- var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - model.temperature*(model.oxygen+model.carbon_dioxide+model.nitrogen+model.toxins)
- return delta_pressure*R_IDEAL_GAS_EQUATION/volume
- else
- return 0
-
-/datum/gas_mixture/proc/check_both_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier)
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- if((abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*sharer.temperature_archived))
- return -1
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
-
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier)
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_turf_share(turf/simulated/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature)
-
- var/self_temperature_delta = 0
- var/sharer_temperature_delta = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
-
- if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
- sharer_temperature_delta = heat/sharer.heat_capacity
- else
- return 1
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
- sharer.temperature += sharer_temperature_delta
-
- return 1
- //Logic integrated from: temperature_turf_share(sharer, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/check_me_then_temperature_mimic(turf/model, conduction_coefficient)
- var/delta_temperature = (temperature_archived - model.temperature)
- var/self_temperature_delta = 0
-
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
-
- if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity))
-
- self_temperature_delta = -heat/(self_heat_capacity*group_multiplier)
-
- if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \
- && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived))
- return 0
-
- temperature += self_temperature_delta
-
- return 1
- //Logic integrated from: temperature_mimic(model, conduction_coefficient) for efficiency
-
-/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature_archived)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity_archived()
- var/sharer_heat_capacity = sharer.heat_capacity_archived()
- if(!group_multiplier)
- message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!")
- return
-
- if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity))
-
- temperature -= heat/(self_heat_capacity*group_multiplier)
- sharer.temperature += heat/(sharer_heat_capacity*sharer.group_multiplier)
-
-/datum/gas_mixture/proc/temperature_mimic(turf/model, conduction_coefficient, border_multiplier)
- var/delta_temperature = (temperature - model.temperature)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()//_archived()
- if(!group_multiplier)
- message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!")
- return
-
- if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity))
-
- if(border_multiplier)
- temperature -= heat*border_multiplier/(self_heat_capacity*group_multiplier)
- else
- temperature -= heat/(self_heat_capacity*group_multiplier)
-
-/datum/gas_mixture/proc/temperature_turf_share(turf/simulated/sharer, conduction_coefficient)
- var/delta_temperature = (temperature_archived - sharer.temperature)
- if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
- var/self_heat_capacity = heat_capacity()
-
- if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY))
- var/heat = conduction_coefficient*delta_temperature* \
- (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity))
-
- temperature -= heat/(self_heat_capacity*group_multiplier)
- sharer.temperature += heat/sharer.heat_capacity
-
-/datum/gas_mixture/proc/compare(datum/gas_mixture/sample)
- //Purpose: Compares sample to self to see if within acceptable ranges that group processing may be enabled
- //Called by: Airgroups trying to rebuild
- //Inputs: Gas mix to compare
- //Outputs: 1 if can rebuild, 0 if not.
- if(!sample) return 0
-
- if((abs(oxygen-sample.oxygen) > MINIMUM_AIR_TO_SUSPEND) && \
- ((oxygen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen)))
- return 0
- if((abs(nitrogen-sample.nitrogen) > MINIMUM_AIR_TO_SUSPEND) && \
- ((nitrogen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen) || (nitrogen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen)))
- return 0
- if((abs(carbon_dioxide-sample.carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && \
- ((carbon_dioxide < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide)))
- return 0
- if((abs(toxins-sample.toxins) > MINIMUM_AIR_TO_SUSPEND) && \
- ((toxins < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins) || (toxins > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins)))
- return 0
-
- if(total_moles() > MINIMUM_AIR_TO_SUSPEND)
- if((abs(temperature-sample.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) && \
- ((temperature < (1-MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature) || (temperature > (1+MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature)))
- //world << "temp fail [temperature] & [sample.temperature]"
- return 0
-
- if(sample.trace_gases.len)
- for(var/datum/gas/trace_gas in sample.trace_gases)
- if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(corresponding)
- if((abs(trace_gas.moles - corresponding.moles) > MINIMUM_AIR_TO_SUSPEND) && \
- ((corresponding.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles) || (corresponding.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles)))
- return 0
- else
- return 0
-
- if(trace_gases.len)
- for(var/datum/gas/trace_gas in trace_gases)
- if(trace_gas.moles > MINIMUM_AIR_TO_SUSPEND)
- var/datum/gas/corresponding = locate(trace_gas.type) in sample.trace_gases
- if(corresponding)
- if((abs(trace_gas.moles - corresponding.moles) > MINIMUM_AIR_TO_SUSPEND) && \
- ((trace_gas.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*corresponding.moles) || (trace_gas.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*corresponding.moles)))
- return 0
- else
- return 0
- return 1
-
-/datum/gas_mixture/proc/subtract(datum/gas_mixture/right_side)
- //Purpose: Subtracts right_side from air_mixture. Used to help turfs mingle
- //Called by: Pipelines ending in a break (or something)
- //Inputs: Gas mix to remove
- //Outputs: 1
-
- oxygen -= right_side.oxygen
- carbon_dioxide -= right_side.carbon_dioxide
- nitrogen -= right_side.nitrogen
- toxins -= right_side.toxins
-
- if((trace_gases.len > 0)||(right_side.trace_gases.len > 0))
- for(var/datum/gas/trace_gas in right_side.trace_gases)
- var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases
- if(!corresponding)
- corresponding = new trace_gas.type()
- trace_gases += corresponding
-
- corresponding.moles -= trace_gas.moles
- update_values()
- return 1
\ No newline at end of file
diff --git a/code/ZAS - vg/FEA_system.dm b/code/ZAS - vg/FEA_system.dm
deleted file mode 100644
index c2a33ad99db..00000000000
--- a/code/ZAS - vg/FEA_system.dm
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
-Overview:
- The air_master global variable is the workhorse for the system.
-
-Why are you archiving data before modifying it?
- The general concept with archiving data and having each tile keep track of when they were last updated is to keep everything symmetric
- and totally independent of the order they are read in an update cycle.
- This prevents abnormalities like air/fire spreading rapidly in one direction and super slowly in the other.
-
-Why not just archive everything and then calculate?
- Efficiency. While a for-loop that goes through all tils and groups to archive their information before doing any calculations seems simple, it is
- slightly less efficient than the archive-before-modify/read method.
-
-Why is there a cycle check for calculating data as well?
- This ensures that every connection between group-tile, tile-tile, and group-group is only evaluated once per loop.
-
-
-
-
-Important variables:
- air_master.groups_to_rebuild (list)
- A list of air groups that have had their geometry occluded and thus may need to be split in half.
- A set of adjacent groups put in here will join together if validly connected.
- This is done before air system calculations for a cycle.
- air_master.tiles_to_update (list)
- Turfs that are in this list have their border data updated before the next air calculations for a cycle.
- Place turfs in this list rather than call the proc directly to prevent race conditions
-
- turf/simulated.archive() and datum/air_group.archive()
- This stores all data for.
- If you modify, make sure to update the archived_cycle to prevent race conditions and maintain symmetry
-
- atom/CanPass(atom/movable/mover, turf/target, height, air_group)
- returns 1 for allow pass and 0 for deny pass
- Turfs automatically call this for all objects/mobs in its turf.
- This is called both as source.CanPass(target, height, air_group)
- and target.CanPass(source, height, air_group)
-
- Cases for the parameters
- 1. This is called with args (mover, location, height>0, air_group=0) for normal objects.
- 2. This is called with args (null, location, height=0, air_group=0) for flowing air.
- 3. This is called with args (null, location, height=?, air_group=1) for determining group boundaries.
-
- Cases 2 and 3 would be different for doors or other objects open and close fairly often.
- (Case 3 would return 0 always while Case 2 would return 0 only when the door is open)
- This prevents the necessity of re-evaluating group geometry every time a door opens/closes.
-
-
-Important Procedures
- air_master.process()
- This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations
-
-
-*/
-
-var/kill_air = 0
-var/tick_multiplier = 2
-
-atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
- //Purpose: Determines if the object (or airflow) can pass this atom.
- //Called by: Movement, airflow.
- //Inputs: The moving atom (optional), target turf, "height" and air group
- //Outputs: Boolean if can pass.
-
- return (!density || !height || air_group)
-
-/turf/CanPass(atom/movable/mover, turf/target, height=1.5,air_group=0)
- if(!target) return 0
-
- if(istype(mover)) // turf/Enter(...) will perform more advanced checks
- return !density
-
- else // Now, doing more detailed checks for air movement and air group formation
- if(target.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(!obstacle.CanPass(mover, target, height, air_group))
- return 0
- if(target != src)
- for(var/obj/obstacle in target)
- if(!obstacle.CanPass(mover, src, height, air_group))
- return 0
-
- return 1
-
-
-var/datum/controller/air_system/air_master
-
-/datum/controller/air_system/
- //Geoemetry lists
- var/list/turfs_with_connections = list()
- var/list/active_hotspots = list()
-
- //Special functions lists
- var/list/tiles_to_reconsider_zones = list()
-
- //Geometry updates lists
- var/list/tiles_to_update = list()
- var/list/connections_to_check = list()
-
- var/current_cycle = 0
- var/update_delay = 5 //How long between check should it try to process atmos again.
- var/failed_ticks = 0 //How many ticks have runtimed?
-
- var/tick_progress = 0
-
-
-/* process()
- //Call this to process air movements for a cycle
-
- process_rebuild_select_groups()
- //Used by process()
- //Warning: Do not call this
-
- rebuild_group(datum/air_group)
- //Used by process_rebuild_select_groups()
- //Warning: Do not call this, add the group to air_master.groups_to_rebuild instead
- */
-
-
-/datum/controller/air_system/proc/setup()
- //Purpose: Call this at the start to setup air groups geometry
- // (Warning: Very processor intensive but only must be done once per round)
- //Called by: Gameticker/Master controller
- //Inputs: None.
- //Outputs: None.
-
- set background = 1
- world << "\red \b Processing Geometry..."
- sleep(-1)
-
- var/start_time = world.timeofday
-
- var/simulated_turf_count = 0
-
- for(var/turf/simulated/S in world)
- simulated_turf_count++
- if(!S.zone && !S.blocks_air)
- if(S.CanPass(null, S, 0, 0))
- new/zone(S)
-
- for(var/turf/simulated/S in world)
- S.update_air_properties()
-
- world << {"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.
-Total Simulated Turfs: [simulated_turf_count]
-Total Zones: [zones.len]
-Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]"}
- /*
- spawn start()
-
-/datum/controller/air_system/proc/start()
- //Purpose: This is kicked off by the master controller, and controls the processing of all atmosphere.
- //Called by: Master controller
- //Inputs: None.
- //Outputs: None.
-
-
- set background = 1
-
- while(1)
- if(!kill_air)
- current_cycle++
- var/success = tick() //Changed so that a runtime does not crash the ticker.
- if(!success) //Runtimed.
- failed_ticks++
- if(failed_ticks > 20)
- world << "ERROR IN ATMOS TICKER. Killing air simulation!"
- kill_air = 1
- sleep(max(5,update_delay*tick_multiplier))
- */
-
-/datum/controller/air_system/proc/tick()
- . = 1 //Set the default return value, for runtime detection.
-
- tick_progress = "update_air_properties"
- if(tiles_to_update.len) //If there are tiles to update, do so.
- for(var/turf/simulated/T in tiles_to_update)
- if(. && T && !T.update_air_properties())
- . = 0 //If a runtime occured, make sure we can sense it.
- //message_admins("ZASALERT: Unable run turf/simualted/update_air_properties()")
- if(.)
- tiles_to_update = list()
-
- //Check sanity on connection objects.
- if(.)
- tick_progress = "connections_to_check"
- if(connections_to_check.len)
- for(var/connection/C in connections_to_check)
- C.CheckPassSanity()
- connections_to_check = list()
-
- //Ensure tiles still have zones.
- if(.)
- tick_progress = "tiles_to_reconsider_zones"
- if(tiles_to_reconsider_zones.len)
- for(var/turf/simulated/T in tiles_to_reconsider_zones)
- if(!T.zone)
- new /zone(T)
- tiles_to_reconsider_zones = list()
-
- //Process zones.
- if(.)
- tick_progress = "zone/process()"
- for(var/zone/Z in zones)
- if(Z.last_update < current_cycle)
- var/output = Z.process()
- if(Z)
- Z.last_update = current_cycle
- if(. && Z && !output)
- . = 0
- //Process fires.
- if(.)
- tick_progress = "active_hotspots (fire)"
- for(var/obj/fire/F in active_hotspots)
- if(. && F && !F.process())
- . = 0
-
- if(.)
- tick_progress = "success"
\ No newline at end of file
diff --git a/code/ZAS - vg/Fire.dm b/code/ZAS - vg/Fire.dm
deleted file mode 100644
index 6909ccd213d..00000000000
--- a/code/ZAS - vg/Fire.dm
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
-
-Making Bombs with ZAS:
-Make burny fire with lots of burning
-Draw off 5000K gas from burny fire
-Separate gas into oxygen and plasma components
-Obtain plasma and oxygen tanks filled up about 50-75% with normal-temp gas
-Fill rest with super hot gas from separated canisters, they should be about 125C now.
-Attach to transfer valve and open. BOOM.
-
-*/
-
-
-//Some legacy definitions so fires can be started.
-atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
- return null
-
-
-turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
-
-
-turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh)
- if(fire_protection > world.time-300)
- return 0
- if(locate(/obj/fire) in src)
- return 1
- var/datum/gas_mixture/air_contents = return_air()
- if(!air_contents || exposed_temperature < PLASMA_MINIMUM_BURN_TEMPERATURE)
- return 0
-
- var/igniting = 0
- var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src
-
- if(air_contents.check_combustability(liquid))
- igniting = 1
-
- if(! (locate(/obj/fire) in src))
-
- new /obj/fire(src,1000)
-
- //active_hotspot.just_spawned = (current_cycle < air_master.current_cycle)
- //remove just_spawned protection if no longer processing this cell
-
- return igniting
-
-/obj/fire
- //Icon for fire on turfs.
-
- anchored = 1
- mouse_opacity = 0
-
- //luminosity = 3
-
- icon = 'icons/effects/fire.dmi'
- icon_state = "1"
-
- layer = TURF_LAYER
-
- var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel()
-
-/obj/fire/process()
- . = 1
-
- //get location and check if it is in a proper ZAS zone
- var/turf/simulated/S = loc
-
- if(!istype(S))
- del src
-
- if(!S.zone)
- del src
-
- var/datum/gas_mixture/air_contents = S.return_air()
- //get liquid fuels on the ground.
- var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S
- //and the volatile stuff from the air
- var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases
-
- //since the air is processed in fractions, we need to make sure not to have any minuscle residue or
- //the amount of moles might get to low for some functions to catch them and thus result in wonky behaviour
- if(air_contents.oxygen < 0.001)
- air_contents.oxygen = 0
- if(air_contents.toxins < 0.001)
- air_contents.toxins = 0
- if(fuel)
- if(fuel.moles < 0.001)
- air_contents.trace_gases.Remove(fuel)
-
- //check if there is something to combust
- if(!air_contents.check_recombustability(liquid))
- //del src
- RemoveFire()
-
- //get a firelevel and set the icon
- firelevel = air_contents.calculate_firelevel(liquid)
-
- if(firelevel > 6)
- icon_state = "3"
- SetLuminosity(7)
- else if(firelevel > 2.5)
- icon_state = "2"
- SetLuminosity(5)
- else
- icon_state = "1"
- SetLuminosity(3)
-
- //im not sure how to implement a version that works for every creature so for now monkeys are firesafe
- for(var/mob/living/carbon/human/M in loc)
- M.FireBurn(firelevel, air_contents.temperature, air_contents.return_pressure() ) //Burn the humans!
- for(var/atom/A in loc)
- A.fire_act(air_contents, air_contents.temperature, air_contents.return_volume())
- //spread
- for(var/direction in cardinal)
- if(S.air_check_directions&direction) //Grab all valid bordering tiles
-
- var/turf/simulated/enemy_tile = get_step(S, direction)
-
- if(istype(enemy_tile))
- var/datum/gas_mixture/acs = enemy_tile.return_air()
- var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile
- if(!acs) continue
- if(!acs.check_recombustability(liq)) continue
- //If extinguisher mist passed over the turf it's trying to spread to, don't spread and
- //reduce firelevel.
- if(enemy_tile.fire_protection > world.time-30)
- firelevel -= 1.5
- continue
-
- //Spread the fire.
- if(!(locate(/obj/fire) in enemy_tile))
- if( prob( 50 + 50 * (firelevel/zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier)) ) && S.CanPass(null, enemy_tile, 0,0) && enemy_tile.CanPass(null, S, 0,0))
- new/obj/fire(enemy_tile,firelevel)
-
- //seperate part of the present gas
- //this is done to prevent the fire burning all gases in a single pass
- var/datum/gas_mixture/flow = air_contents.remove_ratio(zas_settings.Get(/datum/ZAS_Setting/fire_consumption_rate))
-///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR ///////////////////////////////////////////////
-
- if(flow)
-
- if(flow.check_recombustability(liquid))
- //Ensure flow temperature is higher than minimum fire temperatures.
- //this creates some energy ex nihilo but is necessary to get a fire started
- //lets just pretend this energy comes from the ignition source and dont mention this again
- //flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature)
-
- //burn baby burn!
-
- flow.zburn(liquid,1)
- //merge the air back
- S.assume_air(flow)
-
-///////////////////////////////// FLOW HAS BEEN REMERGED /// feel free to delete the fire again from here on //////////////////////////////////////////////////////////////////
-
-
-/obj/fire/New(newLoc,fl)
- ..()
-
- if(!istype(loc, /turf))
- del src
-
- dir = pick(cardinal)
- SetLuminosity(3)
- firelevel = fl
- air_master.active_hotspots.Add(src)
-
-
-/obj/fire/Del()
- if (istype(loc, /turf/simulated))
- SetLuminosity(0)
-
- loc = null
- air_master.active_hotspots.Remove(src)
-
- ..()
-
-/obj/fire/proc/RemoveFire()
- if (istype(loc, /turf/simulated))
- SetLuminosity(0)
- loc = null
- air_master.active_hotspots.Remove(src)
-
-
-
-turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again.
-turf/proc/apply_fire_protection()
-turf/simulated/apply_fire_protection()
- fire_protection = world.time
-
-
-datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid, force_burn)
- var/value = 0
-
- if((temperature > PLASMA_MINIMUM_BURN_TEMPERATURE || force_burn) && check_recombustability(liquid))
- var/total_fuel = 0
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
-
- total_fuel += toxins
-
- if(fuel)
- //Volatile Fuel
- total_fuel += fuel.moles
-
- if(liquid)
- //Liquid Fuel
- if(liquid.amount <= 0)
- del liquid
- else
- total_fuel += liquid.amount
-
- //Calculate the firelevel.
- var/firelevel = calculate_firelevel(liquid)
-
- //get the current inner energy of the gas mix
- //this must be taken here to prevent the addition or deletion of energy by a changing heat capacity
- var/starting_energy = temperature * heat_capacity()
-
- //determine the amount of oxygen used
- var/total_oxygen = min(oxygen, 2 * total_fuel)
-
- //determine the amount of fuel actually used
- var/used_fuel_ratio = min(oxygen / 2 , total_fuel) / total_fuel
- total_fuel = total_fuel * used_fuel_ratio
-
- var/total_reactants = total_fuel + total_oxygen
-
- //determine the amount of reactants actually reacting
- var/used_reactants_ratio = min( max(total_reactants * firelevel / zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier), 0.2), total_reactants) / total_reactants
-
- //remove and add gasses as calculated
- oxygen -= min(oxygen, total_oxygen * used_reactants_ratio )
-
- toxins -= min(toxins, (toxins * used_fuel_ratio * used_reactants_ratio ) * 3)
- if(toxins < 0)
- toxins = 0
-
- carbon_dioxide += max(2 * total_fuel, 0)
-
- if(fuel)
- fuel.moles -= (fuel.moles * used_fuel_ratio * used_reactants_ratio) * 5 //Fuel burns 5 times as quick
- if(fuel.moles <= 0) del fuel
-
- if(liquid)
- liquid.amount -= (liquid.amount * used_fuel_ratio * used_reactants_ratio) * 5 // liquid fuel burns 5 times as quick
-
- if(liquid.amount <= 0) del liquid
-
- //calculate the energy produced by the reaction and then set the new temperature of the mix
- temperature = (starting_energy + zas_settings.Get(/datum/ZAS_Setting/fire_fuel_energy_release) * total_fuel) / heat_capacity()
-
- update_values()
- value = total_reactants * used_reactants_ratio
- return value
-
-datum/gas_mixture/proc/check_recombustability(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //this is a copy proc to continue a fire after its been started.
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
- var/value = 0
-
- if(oxygen && (toxins || fuel || liquid))
- if(liquid)
- value = 1
- else if (toxins && !value)
- value = 1
- else if(fuel && !value)
- value = 1
-
- return value
-
-datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //this check comes up very often and is thus centralized here to ease adding stuff
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
- var/value = 0
-
- if(oxygen && (toxins || fuel || liquid))
- if(liquid)
- value = 1
- else if (toxins >= 0.7 && !value)
- value = 1
- else if(fuel && !value)
- if(fuel.moles >= 1.4)
- value = 1
-
- return value
-
-datum/gas_mixture/proc/calculate_firelevel(obj/effect/decal/cleanable/liquid_fuel/liquid)
- //Calculates the firelevel based on one equation instead of having to do this multiple times in different areas.
-
- var/datum/gas/volatile_fuel/fuel = locate() in trace_gases
- var/total_fuel = 0
- var/firelevel = 0
-
- if(check_recombustability(liquid))
-
- total_fuel += toxins
-
- if(liquid)
- total_fuel += liquid.amount
-
- if(fuel)
- total_fuel += fuel.moles
-
- var/total_combustables = (total_fuel + oxygen)
-
- if(total_fuel > 0 && oxygen > 0)
-
- //slows down the burning when the concentration of the reactants is low
- var/dampening_multiplier = total_combustables / (total_combustables + nitrogen + carbon_dioxide)
- //calculates how close the mixture of the reactants is to the optimum
- var/mix_multiplier = 1 / (1 + (5 * ((oxygen / total_combustables) ^2)))
- //toss everything together
- firelevel = zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier) * mix_multiplier * dampening_multiplier
-
- return max( 0, firelevel)
-
-
-/mob/living/carbon/human/proc/FireBurn(var/firelevel, var/last_temperature, var/pressure)
-// mostly using the old proc from Sky until I can think of something better
- //Burns mobs due to fire. Respects heat transfer coefficients on various body parts.
- //Due to TG reworking how fireprotection works, this is kinda less meaningful.
-
- var
- head_exposure = 1
- chest_exposure = 1
- groin_exposure = 1
- legs_exposure = 1
- arms_exposure = 1
-
- //determine the multiplier
- //minimize this for low-pressure enviroments
- var/mx = 5 * firelevel/zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier) * min(pressure / ONE_ATMOSPHERE, 1)
-
- //Get heat transfer coefficients for clothing.
- //skytodo: kill anyone who breaks things then orders me to fix them
- for(var/obj/item/clothing/C in src)
- if(l_hand == C || r_hand == C)
- continue
-
- if( C.max_heat_protection_temperature >= last_temperature )
- if(C.body_parts_covered & HEAD)
- head_exposure = 0
- if(C.body_parts_covered & UPPER_TORSO)
- chest_exposure = 0
- if(C.body_parts_covered & LOWER_TORSO)
- groin_exposure = 0
- if(C.body_parts_covered & LEGS)
- legs_exposure = 0
- if(C.body_parts_covered & ARMS)
- arms_exposure = 0
-
- //Always check these damage procs first if fire damage isn't working. They're probably what's wrong.
-
- apply_damage(2.5*mx*head_exposure, BURN, "head", 0, 0, "Fire")
- apply_damage(2.5*mx*chest_exposure, BURN, "chest", 0, 0, "Fire")
- apply_damage(2.0*mx*groin_exposure, BURN, "groin", 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, "l_leg", 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, "r_leg", 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, "l_arm", 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, "r_arm", 0, 0, "Fire")
-
- //flash_pain()
diff --git a/code/ZAS - vg/Functions.dm b/code/ZAS - vg/Functions.dm
deleted file mode 100644
index ce24513418e..00000000000
--- a/code/ZAS - vg/Functions.dm
+++ /dev/null
@@ -1,171 +0,0 @@
-//Global Functions
-//Contents: FloodFill, ZMerge, ZConnect
-
-//Floods outward from an initial turf to fill everywhere it's zone would reach.
-proc/FloodFill(turf/simulated/start)
-
- if(!istype(start))
- return list()
-
- //The list of tiles waiting to be evaulated.
- var/list/open = list(start)
- //The list of tiles which have been evaulated.
- var/list/closed = list()
-
- //Loop through the turfs in the open list in order to find which adjacent turfs should be added to the zone.
- while(open.len)
- var/turf/simulated/T = pick(open)
-
- //sanity!
- if(!istype(T))
- open -= T
- continue
-
- //Check all cardinal directions
- for(var/d in cardinal)
- var/turf/simulated/O = get_step(T,d)
-
- //Ensure the turf is of proper type, that it is not in either list, and that air can reach it.
- if(istype(O) && !(O in open) && !(O in closed) && O.ZCanPass(T))
-
- //Handle connections from a tile with a door.
- if(T.HasDoor())
- //If they both have doors, then they are not able to connect period.
- if(O.HasDoor())
- continue
-
- //Connect first to north and west
- if(d == NORTH || d == WEST)
- open += O
-
- //If that fails, and north/west cannot be connected to, see if west or south can be connected instead.
- else
- var/turf/simulated/W = get_step(O, WEST)
- var/turf/simulated/N = get_step(O, NORTH)
-
- if( !O.ZCanPass(N) && !O.ZCanPass(W) )
- //If it cannot connect either to the north or west, connect it!
- open += O
-
- //If no doors are involved, add it immediately.
- else if(!O.HasDoor())
- open += O
-
- //Handle connecting to a tile with a door.
- else
- if(d == SOUTH || d == EAST)
- //doors prefer connecting to zones to the north or west
- closed += O
-
- else
- //see if we need to force an attempted connection
- //(there are no potentially viable zones to the north/west of the door)
- var/turf/simulated/W = get_step(O, WEST)
- var/turf/simulated/N = get_step(O, NORTH)
-
- if( !O.ZCanPass(N) && !O.ZCanPass(W) )
- //If it cannot connect either to the north or west, connect it!
- closed += O
-
- //This tile is now evaluated, and can be moved to the list of evaluated tiles.
- open -= T
- closed += T
-
- return closed
-
-
-//Procedure to merge two zones together.
-proc/ZMerge(zone/A,zone/B)
-
- //Sanity~
- if(!istype(A) || !istype(B))
- return
-
- var/new_contents = A.contents + B.contents
-
- //Set all the zone vars.
- for(var/turf/simulated/T in B.contents)
- T.zone = A
-
- if(istype(A.air) && istype(B.air))
- //Merges two zones so that they are one.
- var/a_size = A.air.group_multiplier
- var/b_size = B.air.group_multiplier
- var/c_size = a_size + b_size
-
- //Set air multipliers to one so air represents gas per tile.
- A.air.group_multiplier = 1
- B.air.group_multiplier = 1
-
- //Remove some air proportional to the size of this zone.
- A.air.remove_ratio(a_size/c_size)
- B.air.remove_ratio(b_size/c_size)
-
- //Merge the gases and set the multiplier to the sum of the old ones.
- A.air.merge(B.air)
- A.air.group_multiplier = c_size
-
- //I hate when the air datum somehow disappears.
- // Try to make it sorta work anyways. Fakit
- else if(istype(B.air))
- A.air = B.air
- A.air.group_multiplier = A.contents.len
-
- else if(istype(A.air))
- A.air.group_multiplier = A.contents.len
-
- //Doublefakit.
- else
- A.air = new
-
- //Check for connections to merge into the new zone.
- for(var/connection/C in B.connections)
- //The Cleanup proc will delete the connection if the zones are the same.
- // It will also set the zone variables correctly.
- C.Cleanup()
-
- //Add space tiles.
- if(A.unsimulated_tiles && B.unsimulated_tiles)
- A.unsimulated_tiles |= B.unsimulated_tiles
- else if (B.unsimulated_tiles)
- A.unsimulated_tiles = B.unsimulated_tiles
-
- //Add contents.
- A.contents = new_contents
-
- //Remove the "B" zone, finally.
- B.SoftDelete()
-
-
-//Connects two zones by forming a connection object representing turfs A and B.
-proc/ZConnect(turf/simulated/A,turf/simulated/B)
-
- //Make sure that if it's space, it gets added to unsimulated_tiles instead.
- if(!istype(B))
- if(A.zone)
- A.zone.AddTurf(B)
- return
- if(!istype(A))
- if(B.zone)
- B.zone.AddTurf(A)
- return
-
- if(!istype(A) || !istype(B))
- return
-
- //Make some preliminary checks to see if the connection is valid.
- if(!A.zone || !B.zone) return
- if(A.zone == B.zone) return
-
- if(A.CanPass(null,B,0,1))
- return ZMerge(A.zone,B.zone)
-
- //Ensure the connection isn't already made.
- if("\ref[A]" in air_master.turfs_with_connections)
- for(var/connection/C in air_master.turfs_with_connections["\ref[A]"])
- C.Cleanup()
- if(C && (C.B == B || C.A == B))
- return
-
- //Make the connection.
- new /connection(A,B)
diff --git a/code/ZAS - vg/NewSettings.dm b/code/ZAS - vg/NewSettings.dm
deleted file mode 100644
index 2f189bd0315..00000000000
--- a/code/ZAS - vg/NewSettings.dm
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
-ZAS Settings System 2.0
-
-Okay, so VariableSettings is a mess of spaghetticode and
- is about as flexible as a grandmother covered in
- starch.
-
-This is an attempt to fix that by using getters and
- setters instead of stupidity. It's a little more difficult
- to code with, but dammit, it's better than hackery.
-
-NOTE: plc was merged into the main settings. We can set up
- visual groups later.
-
-HOW2GET:
- zas_setting.Get(/datum/ZAS_Setting/herp)
-
-HOW2SET:
- zas_setting.Set(/datum/ZAS_Setting/herp, "dsfargeg")
-*/
-
-var/global/ZAS_Settings/zas_settings = new
-
-#define ZAS_TYPE_UNDEFINED -1
-#define ZAS_TYPE_BOOLEAN 0
-#define ZAS_TYPE_NUMERIC 1
-
-/**
-* ZAS Setting Datum
-*
-* Stores a single setting.
-* @author N3X15
-* @package SS13
-* @subpackage ZAS
-*/
-/datum/ZAS_Setting/
- var/name="Clown" // Friendly name.
- var/desc="Honk"
- var/value=null
- var/valtype=ZAS_TYPE_UNDEFINED
-
-/datum/ZAS_Setting/fire_consumption_rate
- name = "Fire - Air Consumption Ratio"
- desc = "Ratio of air removed and combusted per tick."
- valtype=ZAS_TYPE_NUMERIC
- value = 0.75
-
-/datum/ZAS_Setting/fire_firelevel_multiplier
- value = 25
- name = "Fire - Firelevel Constant"
- desc = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/fire_fuel_energy_release
- value = 550000
- name = "Fire - Fuel energy release"
- desc = "The energy in joule released when burning one mol of a burnable substance"
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_lightest_pressure
- value = 20
- name = "Airflow - Small Movement Threshold %"
- desc = "Percent of 1 Atm. at which items with the small weight classes will move."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_light_pressure
- value = 35
- name = "Airflow - Medium Movement Threshold %"
- desc = "Percent of 1 Atm. at which items with the medium weight classes will move."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_medium_pressure
- value = 50
- name = "Airflow - Heavy Movement Threshold %"
- desc = "Percent of 1 Atm. at which items with the largest weight classes will move."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_heavy_pressure
- value = 65
- name = "Airflow - Mob Movement Threshold %"
- desc = "Percent of 1 Atm. at which mobs will move."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_dense_pressure
- value = 85
- name = "Airflow - Dense Movement Threshold %"
- desc = "Percent of 1 Atm. at which items with canisters and closets will move."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_stun_pressure
- value = 60
- name = "Airflow - Mob Stunning Threshold %"
- desc = "Percent of 1 Atm. at which mobs will be stunned by airflow."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_stun_cooldown
- value = 60
- name = "Aiflow Stunning - Cooldown"
- desc = "How long, in tenths of a second, to wait before stunning them again."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_stun
- value = 1
- name = "Airflow Impact - Stunning"
- desc = "How much a mob is stunned when hit by an object."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_damage
- value = 2
- name = "Airflow Impact - Damage"
- desc = "Damage from airflow impacts."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_speed_decay
- value = 1.5
- name = "Airflow Speed Decay"
- desc = "How rapidly the speed gained from airflow decays."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_delay
- value = 30
- name = "Airflow Retrigger Delay"
- desc = "Time in deciseconds before things can be moved by airflow again."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/airflow_mob_slowdown
- value = 1
- name = "Airflow Slowdown"
- desc = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow."
- valtype=ZAS_TYPE_NUMERIC
-
-// N3X15 - Added back in so we can tweak performance.
-/datum/ZAS_Setting/airflow_push
- name="Airflow - Push"
- value = 0
- desc="1=yes please rape my server, 0=no"
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/connection_insulation
- value = 0.4
- name = "Connections - Insulation"
- desc = "How insulative a connection is, in terms of heat transfer. 1 is perfectly insulative, and 0 is perfectly conductive."
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/connection_temperature_delta
- value = 10
- name = "Connections - Temperature Difference"
- desc = "The smallest temperature difference which will cause heat to travel through doors."
- valtype=ZAS_TYPE_NUMERIC
-
-// N3X15 - Ice is disabled by default, per Pomf's request.
-/datum/ZAS_Setting/ice_formation
- name="Airflow - Enable Ice Formation"
- value = 1
- desc="1=yes, 0=no - Slippin' and slidin' when pressure > 10kPa and temperature < 273K"
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/space_isnt_cold
- name="Airflow - Disable Cold Space"
- value = 0 // Pomf requested
- desc="1=yes, 0=no - Disables space behaving as being very fucking cold (0K)."
- valtype=ZAS_TYPE_BOOLEAN
-
-
-///////////////////////////////////////
-// PLASMA SHIT
-///////////////////////////////////////
-// ALL CAPS BECAUSE PLASMA IS HARDCORE YO
-// And I'm too lazy to fix the refs.
-
-/datum/ZAS_Setting/PLASMA_DMG
- name = "Plasma Damage Amount"
- desc = "Self Descriptive"
- value = 3
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/CLOTH_CONTAMINATION
- name = "Cloth Contamination"
- desc = "If this is on, plasma does damage by getting into cloth."
- value = 1
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/PLASMAGUARD_ONLY
- name = "PlasmaGuard Only"
- desc = "If this is on, only biosuits and spacesuits protect against contamination and ill effects."
- value = 0
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/GENETIC_CORRUPTION
- name = "Genetic Corruption Chance"
- desc = "Chance of genetic corruption as well as toxic damage, X in 10,000."
- value = 0
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/SKIN_BURNS
- name = "Skin Burns"
- desc = "Plasma has an effect similar to mustard gas on the un-suited."
- value = 0
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/EYE_BURNS
- name = "Eye Burns"
- desc = "Plasma burns the eyes of anyone not wearing eye protection."
- value = 1
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/CONTAMINATION_LOSS
- name = "Contamination Loss"
- desc = "How much toxin damage is dealt from contaminated clothing"
- value = 0.02 //Per tick? ASK ARYN
- valtype=ZAS_TYPE_NUMERIC
-
-/datum/ZAS_Setting/PLASMA_HALLUCINATION
- name = "Plasma Hallucination"
- desc = "Does being in plasma cause you to hallucinate?"
- value = 0
- valtype=ZAS_TYPE_BOOLEAN
-
-/datum/ZAS_Setting/N2O_HALLUCINATION
- name = "N2O Hallucination"
- desc = "Does being in sleeping gas cause you to hallucinate?"
- value = 1
- valtype=ZAS_TYPE_BOOLEAN
-
-/**
-* ZAS Settings
-*
-* Stores our settings for ZAS in an editable form.
-* @author N3X15
-* @package SS13
-* @subpackage ZAS
-*/
-/ZAS_Settings
- // INTERNAL USE ONLY
- var/list/datum/ZAS_Setting/settings = list()
-
-/ZAS_Settings/New()
- .=..()
- for(var/S in typesof(/datum/ZAS_Setting) - /datum/ZAS_Setting)
- var/id=idfrompath("[S]")
- //testing("Creating zas_settings\[[id]\] = new [S]")
- src.settings[id]=new S
-
-
- if(fexists("config/ZAS.txt") == 0)
- Save()
- Load()
-
-/ZAS_Settings/proc/Save()
- var/F = file("config/ZAS.txt")
- fdel(F)
- for(var/id in src.settings)
- var/datum/ZAS_Setting/setting = src.settings[id]
- F << "# [setting.name]"
- F << "# [setting.desc]"
- F << "[id] [setting.value]"
- F << ""
-
-/ZAS_Settings/proc/Load()
- for(var/t in file2list("config/ZAS.txt"))
- if(!t) continue
-
- t = trim(t)
- if (length(t) == 0)
- continue
- else if (copytext(t, 1, 2) == "#")
- continue
-
- var/pos = findtext(t, " ")
- var/name = null
- var/value = null
-
- if (pos)
- name = copytext(t, 1, pos)
- value = copytext(t, pos + 1)
- else
- name = t
-
- if (!name)
- continue
-
- src.SetFromConfig(name,value)
-
-// INTERNAL USE ONLY
-/ZAS_Settings/proc/idfrompath(var/str)
- return replacetext(str,"/datum/ZAS_Setting/","")
-
-// INTERNAL USE ONLY
-/ZAS_Settings/proc/ChangeSetting(var/user,var/id)
- var/datum/ZAS_Setting/setting = src.settings[id]
- var/displayedValue=""
- switch(setting.valtype)
- if(ZAS_TYPE_NUMERIC)
- setting.value = input(user,"Enter a number:","Settings",setting.value) as num
- displayedValue="\"[setting.value]\""
- /*
- if(ZAS_TYPE_BITFLAG)
- var/flag = input(user,"Toggle which bit?","Settings") in bitflags
- flag = text2num(flag)
- if(newvar & flag)
- newvar &= ~flag
- else
- newvar |= flag
- */
- if(ZAS_TYPE_BOOLEAN)
- setting.value = !setting.value
- displayedValue = (setting.value) ? "ON" : "OFF"
- /*
- if(ZAS_TYPE_STRING)
- setting.value = input(user,"Enter text:","Settings",newvar) as message
- */
- else
- error("[id] has an invalid typeval.")
- return
- world << "\blue [key_name(user)] changed ZAS setting [setting.name] to [displayedValue]."
-
- ChangeSettingsDialog(user)
-
-/**
-* Set the value of a setting.
-*
-* Recommended to use the actual type of the setting rather than the ID, since
-* this will allow for the compiler to check the validity of id. Kinda.
-*
-* @param id Either the typepath of the desired setting, or the string ID of the setting.
-* @param value The value that the setting should be set to.
-*/
-/ZAS_Settings/proc/Set(var/id, var/value)
- var/datum/ZAS_Setting/setting = src.settings[idfrompath(id)]
- setting.value=value
-
-// INTERNAL USE ONLY
-/ZAS_Settings/proc/SetFromConfig(var/id, var/value)
- var/datum/ZAS_Setting/setting = src.settings[id]
- switch(setting.valtype)
- if(ZAS_TYPE_NUMERIC)
- setting.value = text2num(value)
- /*
- if(ZAS_TYPE_BITFLAG)
- var/flag = input(user,"Toggle which bit?","Settings") in bitflags
- flag = text2num(flag)
- if(newvar & flag)
- newvar &= ~flag
- else
- newvar |= flag
- */
- if(ZAS_TYPE_BOOLEAN)
- setting.value = (value == "1")
- /*
- if(ZAS_TYPE_STRING)
- setting.value = input(user,"Enter text:","Settings",newvar) as message
- */
-
-/**
-* Get a setting.
-*
-* Recommended to use the actual type of the setting rather than the ID, since
-* this will allow for the compiler to check the validity of id. Kinda.
-*
-* @param id Either the typepath of the desired setting, or the string ID of the setting.
-* @returns Value of the desired setting
-*/
-/ZAS_Settings/proc/Get(var/id)
- if(ispath(id))
- id="[id]"
- var/datum/ZAS_Setting/setting = src.settings[idfrompath(id)]
- if(!setting || !istype(setting))
- world.log << "ZAS_SETTING DEBUG: [id] | [idfrompath(id)]"
- return setting.value
-
-/ZAS_Settings/proc/ChangeSettingsDialog(mob/user)
- var/dat = {"
-
-
- ZAS Settings 2.0
-
-
-
- ZAS Configuration
- Save Settings | Load Settings
- Please note that changing these settings can and probably will result in death, destruction and mayhem. Change at your own risk.
- "}
- for(var/id in src.settings)
- var/datum/ZAS_Setting/s = src.settings[id]
-
- // AUTOFIXED BY fix_string_idiocy.py
- // C:\Users\Rob\Documents\Projects\vgstation13\code\ZAS\NewSettings.dm:393: dat += "- [s.name] = [s.value] \[Change\]
"
- dat += {"- [s.name] = [s.value] \[Change\]
- - [s.desc]
"}
- // END AUTOFIX
- dat += "
"
- user << browse(dat,"window=settings")
-
-/ZAS_Settings/Topic(href,href_list)
- if("changevar" in href_list)
- ChangeSetting(usr,href_list["changevar"])
- if("save" in href_list)
- var/sure = input(usr,"Are you sure? This will overwrite your ZAS configuration!","Overwrite ZAS.txt?", "No") in list("Yes","No")
- if(sure=="Yes")
- Save()
- message_admins("[key_name(usr)] saved ZAS settings to disk.")
- if("load" in href_list)
- var/sure = input(usr,"Are you sure?","Reload ZAS.txt?", "No") in list("Yes","No")
- if(sure=="Yes")
- Load()
- message_admins("[key_name(usr)] reloaded ZAS settings from disk.")
-
-/ZAS_Settings/proc/SetDefault(var/mob/user)
- var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!", "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish")
- var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices
- if(!def)
- return
- switch(def)
- if("Plasma - Standard")
- Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth.
- Set("PLASMAGUARD_ONLY", 0)
- Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000.
- Set("SKIN_BURNS", 0) //Plasma has an effect similar to mustard gas on the un-suited.
- Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection.
- Set("PLASMA_HALLUCINATION", 0)
- Set("CONTAMINATION_LOSS", 0.02)
-
- if("Plasma - Low Hazard")
- Set("CLOTH_CONTAMINATION", 0) //If this is on, plasma does damage by getting into cloth.
- Set("PLASMAGUARD_ONLY", 0)
- Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000
- Set("SKIN_BURNS", 0) //Plasma has an effect similar to mustard gas on the un-suited.
- Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection.
- Set("PLASMA_HALLUCINATION", 0)
- Set("CONTAMINATION_LOSS", 0.01)
-
- if("Plasma - High Hazard")
- Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth.
- Set("PLASMAGUARD_ONLY", 0)
- Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000.
- Set("SKIN_BURNS", 1) //Plasma has an effect similar to mustard gas on the un-suited.
- Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection.
- Set("PLASMA_HALLUCINATION", 1)
- Set("CONTAMINATION_LOSS", 0.05)
-
- if("Plasma - Oh Shit!")
- Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth.
- Set("PLASMAGUARD_ONLY", 1)
- Set("GENETIC_CORRUPTION", 5) //Chance of genetic corruption as well as toxic damage, X in 1000.
- Set("SKIN_BURNS", 1) //Plasma has an effect similar to mustard gas on the un-suited.
- Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection.
- Set("PLASMA_HALLUCINATION", 1)
- Set("CONTAMINATION_LOSS", 0.075)
-
- if("ZAS - Normal")
- Set("airflow_push", 0)
- Set("airflow_lightest_pressure", 20)
- Set("airflow_light_pressure", 35)
- Set("airflow_medium_pressure", 50)
- Set("airflow_heavy_pressure", 65)
- Set("airflow_dense_pressure", 85)
- Set("airflow_stun_pressure", 60)
- Set("airflow_stun_cooldown", 60)
- Set("airflow_stun", 1)
- Set("airflow_damage", 2)
- Set("airflow_speed_decay", 1.5)
- Set("airflow_delay", 30)
- Set("airflow_mob_slowdown", 1)
-
- if("ZAS - Forgiving")
- Set("airflow_push", 0)
- Set("airflow_lightest_pressure", 45)
- Set("airflow_light_pressure", 60)
- Set("airflow_medium_pressure", 120)
- Set("airflow_heavy_pressure", 110)
- Set("airflow_dense_pressure", 200)
- Set("airflow_stun_pressure", 150)
- Set("airflow_stun_cooldown", 90)
- Set("airflow_stun", 0.15)
- Set("airflow_damage", 0.15)
- Set("airflow_speed_decay", 1.5)
- Set("airflow_delay", 50)
- Set("airflow_mob_slowdown", 0)
-
- if("ZAS - Dangerous")
- Set("airflow_push", 1)
- Set("airflow_lightest_pressure", 15)
- Set("airflow_light_pressure", 30)
- Set("airflow_medium_pressure", 45)
- Set("airflow_heavy_pressure", 55)
- Set("airflow_dense_pressure", 70)
- Set("airflow_stun_pressure", 50)
- Set("airflow_stun_cooldown", 50)
- Set("airflow_stun", 2)
- Set("airflow_damage", 3)
- Set("airflow_speed_decay", 1.2)
- Set("airflow_delay", 25)
- Set("airflow_mob_slowdown", 2)
-
- if("ZAS - Hellish")
- Set("airflow_push", 1)
- Set("airflow_lightest_pressure", 20)
- Set("airflow_light_pressure", 30)
- Set("airflow_medium_pressure", 40)
- Set("airflow_heavy_pressure", 50)
- Set("airflow_dense_pressure", 60)
- Set("airflow_stun_pressure", 40)
- Set("airflow_stun_cooldown", 40)
- Set("airflow_stun", 3)
- Set("airflow_damage", 4)
- Set("airflow_speed_decay", 1)
- Set("airflow_delay", 20)
- Set("airflow_mob_slowdown", 3)
- world << "\blue [key_name(usr)] loaded ZAS preset [def]"
\ No newline at end of file
diff --git a/code/ZAS - vg/Plasma.dm b/code/ZAS - vg/Plasma.dm
deleted file mode 100644
index 5936f3843b0..00000000000
--- a/code/ZAS - vg/Plasma.dm
+++ /dev/null
@@ -1,125 +0,0 @@
-var/image/contamination_overlay = image('icons/effects/contamination.dmi')
-
-obj/var/contaminated = 0
-
-
-/obj/item/proc/can_contaminate()
- //Clothing and backpacks can be contaminated.
- if(flags & PLASMAGUARD) return 0
- else if(istype(src,/obj/item/weapon/storage/backpack)) return 0 //Cannot be washed :(
- else if(istype(src,/obj/item/clothing)) return 1
-
-/obj/item/proc/contaminate()
- //Do a contamination overlay? Temporary measure to keep contamination less deadly than it was.
- if(!contaminated)
- contaminated = 1
- overlays += contamination_overlay
-
-/obj/item/proc/decontaminate()
- contaminated = 0
- overlays -= contamination_overlay
-
-/mob/proc/contaminate()
-
-/mob/living/carbon/human/contaminate()
- //See if anything can be contaminated.
-
- if(!pl_suit_protected())
- suit_contamination()
-
- if(!pl_head_protected())
- if(prob(1)) suit_contamination() //Plasma can sometimes get through such an open suit.
-
-//Cannot wash backpacks currently.
-// if(istype(back,/obj/item/weapon/storage/backpack))
-// back.contaminate()
-
-/mob/proc/pl_effects()
-
-/mob/living/carbon/human/pl_effects()
- //Handles all the bad things plasma can do.
-
- //Contamination
- if(zas_settings.Get(/datum/ZAS_Setting/CLOTH_CONTAMINATION)) contaminate()
-
- //Anything else requires them to not be dead.
- if(stat >= 2)
- return
-
- //Burn skin if exposed.
- if(zas_settings.Get(/datum/ZAS_Setting/SKIN_BURNS))
- if(!pl_head_protected() || !pl_suit_protected())
- burn_skin(0.75)
- if(prob(20)) src << "\red Your skin burns!"
- updatehealth()
-
- //Burn eyes if exposed.
- if(zas_settings.Get(/datum/ZAS_Setting/EYE_BURNS))
- if(!head)
- if(!wear_mask)
- burn_eyes()
- else
- if(!(wear_mask.flags & MASKCOVERSEYES))
- burn_eyes()
- else
- if(!(head.flags & HEADCOVERSEYES))
- if(!wear_mask)
- burn_eyes()
- else
- if(!(wear_mask.flags & MASKCOVERSEYES))
- burn_eyes()
-
- //Genetic Corruption
- if(zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION))
- if(rand(1,10000) < zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION))
- randmutb(src)
- src << "\red High levels of toxins cause you to spontaneously mutate."
- domutcheck(src,null)
-
-
-/mob/living/carbon/human/proc/burn_eyes()
- //The proc that handles eye burning.
- if(prob(20)) src << "\red Your eyes burn!"
- eye_stat += 2.5
- eye_blurry = min(eye_blurry+1.5,50)
- if (prob(max(0,eye_stat - 20) + 1) &&!eye_blind)
- src << "\red You are blinded!"
- eye_blind += 20
- eye_stat = 0
-
-/mob/living/carbon/human/proc/pl_head_protected()
- //Checks if the head is adequately sealed.
- if(head)
- if(zas_settings.Get(/datum/ZAS_Setting/PLASMAGUARD_ONLY))
- if(head.flags & PLASMAGUARD)
- return 1
- else if(head.flags & HEADCOVERSEYES)
- return 1
- return 0
-
-/mob/living/carbon/human/proc/pl_suit_protected()
- //Checks if the suit is adequately sealed.
- if(wear_suit)
- if(zas_settings.Get(/datum/ZAS_Setting/PLASMAGUARD_ONLY))
- if(wear_suit.flags & PLASMAGUARD) return 1
- else
- if(wear_suit.flags_inv & HIDEJUMPSUIT) return 1
- return 0
-
-/mob/living/carbon/human/proc/suit_contamination()
- //Runs over the things that can be contaminated and does so.
- if(w_uniform) w_uniform.contaminate()
- if(shoes) shoes.contaminate()
- if(gloves) gloves.contaminate()
-
-
-turf/Entered(obj/item/I)
- . = ..()
- //Items that are in plasma, but not on a mob, can still be contaminated.
- if(istype(I) && zas_settings.Get(/datum/ZAS_Setting/CLOTH_CONTAMINATION))
- var/datum/gas_mixture/env = return_air(1)
- if(!env)
- return
- if(env.toxins > MOLES_PLASMA_VISIBLE + 1)
- if(I.can_contaminate())
- I.contaminate()
\ No newline at end of file
diff --git a/code/ZAS - vg/Variable Settings.dm b/code/ZAS - vg/Variable Settings.dm
deleted file mode 100644
index 09501ffc78a..00000000000
--- a/code/ZAS - vg/Variable Settings.dm
+++ /dev/null
@@ -1,340 +0,0 @@
-var/global/vs_control/vsc = new
-
-// Whoever made this fucking thing: I hate you so much.
-vs_control/var
- // N3X15 - Added back in so we can tweak performance.
- airflow_push = 0
- airflow_push_NAME="Airflow - Push shit around"
- airflow_push_DESC="1=yes please rape my server, 0=no"
- airflow_push_METHOD="Toggle" // See ChangeSettings(). I'd rather not let people break this.
-
- fire_consuption_rate = 0.75
- fire_consuption_rate_NAME = "Fire - Air Consumption Ratio"
- fire_consuption_rate_DESC = "Ratio of air removed and combusted per tick."
-
- fire_firelevel_multiplier = 25
- fire_firelevel_multiplier_NAME = "Fire - Firelevel Constant"
- fire_firelevel_multiplier_DESC = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires."
-
- fire_fuel_energy_release = 550000
- fire_fuel_energy_release_NAME = "Fire - Fuel energy release"
- fire_fuel_energy_release_DESC = "The energy in joule released when burning one mol of a burnable substance"
-
-
- airflow_lightest_pressure = 20
- airflow_lightest_pressure_NAME = "Airflow - Small Movement Threshold %"
- airflow_lightest_pressure_DESC = "Percent of 1 Atm. at which items with the small weight classes will move."
-
- airflow_light_pressure = 35
- airflow_light_pressure_NAME = "Airflow - Medium Movement Threshold %"
- airflow_light_pressure_DESC = "Percent of 1 Atm. at which items with the medium weight classes will move."
-
- airflow_medium_pressure = 50
- airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %"
- airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move."
-
- airflow_heavy_pressure = 65
- airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %"
- airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move."
-
- airflow_dense_pressure = 85
- airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %"
- airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move."
-
- airflow_stun_pressure = 60
- airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %"
- airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow."
-
- airflow_stun_cooldown = 60
- airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown"
- airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again."
-
- airflow_stun = 1
- airflow_stun_NAME = "Airflow Impact - Stunning"
- airflow_stun_DESC = "How much a mob is stunned when hit by an object."
-
- airflow_damage = 2
- airflow_damage_NAME = "Airflow Impact - Damage"
- airflow_damage_DESC = "Damage from airflow impacts."
-
- airflow_speed_decay = 1.5
- airflow_speed_decay_NAME = "Airflow Speed Decay"
- airflow_speed_decay_DESC = "How rapidly the speed gained from airflow decays."
-
- airflow_delay = 30
- airflow_delay_NAME = "Airflow Retrigger Delay"
- airflow_delay_DESC = "Time in deciseconds before things can be moved by airflow again."
-
- airflow_mob_slowdown = 1
- airflow_mob_slowdown_NAME = "Airflow Slowdown"
- airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow."
-
- var/connection_insulation = 0.4
- var/connection_insulation_NAME = "Connections - Insulation"
- var/connection_insulation_DESC = "How insulative a connection is, in terms of heat transfer. 1 is perfectly insulative, and 0 is perfectly conductive."
-
- var/connection_temperature_delta = 10
- var/connection_temperature_delta_NAME = "Connections - Temperature Difference"
- var/connection_temperature_delta_DESC = "The smallest temperature difference which will cause heat to travel through doors."
-
-vs_control
- var
- list/settings = list()
- list/bitflags = list("1","2","4","8","16","32","64","128","256","512","1024") // Oh jesus why. Learn to shift bits, you idiots.
- pl_control/plc = new()
-
- New()
- . = ..()
- settings = vars.Copy()
-
- var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars.
- for(var/V in D.vars)
- settings -= V
-
- for(var/V in settings)
- if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC") || findtextEx(V,"_METHOD"))
- settings -= V
-
- settings -= "settings"
- settings -= "bitflags"
- settings -= "plc"
-
- proc/ChangeSettingsDialog(mob/user,list/L)
- //var/which = input(user,"Choose a setting:") in L
- var/dat = ""
- for(var/ch in L)
- if(findtextEx(ch,"_RANDOM") || findtextEx(ch,"_DESC") || findtextEx(ch,"_METHOD") || findtextEx(ch,"_NAME")) continue
- var/vw
- var/vw_desc = "No Description."
- var/vw_name = ch
- if(ch in plc.settings)
- vw = plc.vars[ch]
- if("[ch]_DESC" in plc.vars) vw_desc = plc.vars["[ch]_DESC"]
- if("[ch]_NAME" in plc.vars) vw_name = plc.vars["[ch]_NAME"]
- else
- vw = vars[ch]
- if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"]
- if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"]
- dat += "[vw_name] = [vw] \[Change\]
"
- dat += "[vw_desc]
"
- user << browse(dat,"window=settings")
- Topic(href,href_list)
- if("changevar" in href_list)
- ChangeSetting(usr,href_list["changevar"])
- proc/ChangeSetting(mob/user,ch)
- var/vw
- var/how = "Text"
- var/display_description = ch
- if(ch in plc.settings)
- vw = plc.vars[ch]
- if("[ch]_NAME" in plc.vars)
- display_description = plc.vars["[ch]_NAME"]
- if("[ch]_METHOD" in plc.vars)
- how = plc.vars["[ch]_METHOD"]
- else
- if(isnum(vw))
- how = "Numeric"
- else
- how = "Text"
- else
- vw = vars[ch]
- if("[ch]_NAME" in vars)
- display_description = vars["[ch]_NAME"]
- if("[ch]_METHOD" in vars)
- how = vars["[ch]_METHOD"]
- else
- if(isnum(vw))
- how = "Numeric"
- else
- how = "Text"
- var/newvar = vw
- switch(how)
- if("Numeric")
- newvar = input(user,"Enter a number:","Settings",newvar) as num
- if("Bit Flag")
- var/flag = input(user,"Toggle which bit?","Settings") in bitflags
- flag = text2num(flag)
- if(newvar & flag)
- newvar &= ~flag
- else
- newvar |= flag
- if("Toggle")
- newvar = !newvar
- if("Text")
- newvar = input(user,"Enter a string:","Settings",newvar) as text
- if("Long Text")
- newvar = input(user,"Enter text:","Settings",newvar) as message
- vw = newvar
- if(ch in plc.settings)
- plc.vars[ch] = vw
- else
- vars[ch] = vw
- if(how == "Toggle")
- newvar = (newvar?"ON":"OFF")
- world << "\blue [key_name(user)] changed the setting [display_description] to [newvar]."
- if(ch in plc.settings)
- ChangeSettingsDialog(user,plc.settings)
- else
- ChangeSettingsDialog(user,settings)
- proc/RandomizeWithProbability()
- for(var/V in settings)
- var/newvalue
- if("[V]_RANDOM" in vars)
- if(isnum(vars["[V]_RANDOM"]))
- newvalue = prob(vars["[V]_RANDOM"])
- else if(istext(vars["[V]_RANDOM"]))
- newvalue = roll(vars["[V]_RANDOM"])
- else
- newvalue = vars[V]
- V = newvalue
-
- proc/ChangePlasma()
- for(var/V in plc.settings)
- plc.Randomize(V)
-
- proc/SetDefault(var/mob/user)
- var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!",\
- "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish")
- var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices
- if(!def)
- return
- switch(def)
- if("Plasma - Standard")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 0
- plc.CONTAMINATION_LOSS = 0.02
-
- if("Plasma - Low Hazard")
- plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000
- plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 0
- plc.CONTAMINATION_LOSS = 0.01
-
- if("Plasma - High Hazard")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 0
- plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 1
- plc.CONTAMINATION_LOSS = 0.05
-
- if("Plasma - Oh Shit!")
- plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth.
- plc.PLASMAGUARD_ONLY = 1
- plc.GENETIC_CORRUPTION = 5 //Chance of genetic corruption as well as toxic damage, X in 1000.
- plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited.
- plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection.
- plc.PLASMA_HALLUCINATION = 1
- plc.CONTAMINATION_LOSS = 0.075
-
- if("ZAS - Normal")
- airflow_push=0
- airflow_lightest_pressure = 20
- airflow_light_pressure = 35
- airflow_medium_pressure = 50
- airflow_heavy_pressure = 65
- airflow_dense_pressure = 85
- airflow_stun_pressure = 60
- airflow_stun_cooldown = 60
- airflow_stun = 1
- airflow_damage = 2
- airflow_speed_decay = 1.5
- airflow_delay = 30
- airflow_mob_slowdown = 1
-
- if("ZAS - Forgiving")
- airflow_push=0
- airflow_lightest_pressure = 45
- airflow_light_pressure = 60
- airflow_medium_pressure = 120
- airflow_heavy_pressure = 110
- airflow_dense_pressure = 200
- airflow_stun_pressure = 150
- airflow_stun_cooldown = 90
- airflow_stun = 0.15
- airflow_damage = 0.15
- airflow_speed_decay = 1.5
- airflow_delay = 50
- airflow_mob_slowdown = 0
-
- if("ZAS - Dangerous")
- airflow_push=1
- airflow_lightest_pressure = 15
- airflow_light_pressure = 30
- airflow_medium_pressure = 45
- airflow_heavy_pressure = 55
- airflow_dense_pressure = 70
- airflow_stun_pressure = 50
- airflow_stun_cooldown = 50
- airflow_stun = 2
- airflow_damage = 3
- airflow_speed_decay = 1.2
- airflow_delay = 25
- airflow_mob_slowdown = 2
-
- if("ZAS - Hellish")
- airflow_push=1
- airflow_lightest_pressure = 20
- airflow_light_pressure = 30
- airflow_medium_pressure = 40
- airflow_heavy_pressure = 50
- airflow_dense_pressure = 60
- airflow_stun_pressure = 40
- airflow_stun_cooldown = 40
- airflow_stun = 3
- airflow_damage = 4
- airflow_speed_decay = 1
- airflow_delay = 20
- airflow_mob_slowdown = 3
-
-
- world << "\blue [key_name(user)] changed the global plasma/ZAS settings to \"[def]\""
-
-pl_control
- var/list/settings = list()
- New()
- . = ..()
- settings = vars.Copy()
-
- var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars.
- for(var/V in D.vars)
- settings -= V
-
- for(var/V in settings)
- if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC"))
- settings -= V
-
- settings -= "settings"
- proc/Randomize(V)
- var/newvalue
- if("[V]_RANDOM" in vars)
- if(isnum(vars["[V]_RANDOM"]))
- newvalue = prob(vars["[V]_RANDOM"])
- else if(istext(vars["[V]_RANDOM"]))
- var/txt = vars["[V]_RANDOM"]
- if(findtextEx(txt,"PROB"))
- txt = text2list(txt,"/")
- txt[1] = replacetext(txt[1],"PROB","")
- var/p = text2num(txt[1])
- var/r = txt[2]
- if(prob(p))
- newvalue = roll(r)
- else
- newvalue = vars[V]
- else if(findtextEx(txt,"PICK"))
- txt = replacetext(txt,"PICK","")
- txt = text2list(txt,",")
- newvalue = pick(txt)
- else
- newvalue = roll(txt)
- else
- newvalue = vars[V]
- vars[V] = newvalue
diff --git a/code/ZAS - vg/ZAS_Turfs.dm b/code/ZAS - vg/ZAS_Turfs.dm
deleted file mode 100644
index e7f5f4402f8..00000000000
--- a/code/ZAS - vg/ZAS_Turfs.dm
+++ /dev/null
@@ -1,394 +0,0 @@
-/atom/var/pressure_resistance = ONE_ATMOSPHERE
-
-/turf/var/zone/zone
-
-/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
- del(giver)
- return 0
-
-/turf/return_air()
- //Create gas mixture to hold data for passing
- var/datum/gas_mixture/GM = new
-
- GM.oxygen = oxygen
- GM.carbon_dioxide = carbon_dioxide
- GM.nitrogen = nitrogen
- GM.toxins = toxins
-
- GM.temperature = temperature
- GM.update_values()
-
- return GM
-
-// For new turfs
-/turf/proc/copy_air_from(var/turf/T)
- oxygen = T.oxygen
- carbon_dioxide = T.carbon_dioxide
- nitrogen = T.nitrogen
- toxins = T.toxins
-
- temperature = T.temperature
-
-/turf/remove_air(amount as num)
- var/datum/gas_mixture/GM = new
-
- var/sum = oxygen + carbon_dioxide + nitrogen + toxins
- if(sum>0)
- GM.oxygen = (oxygen/sum)*amount
- GM.carbon_dioxide = (carbon_dioxide/sum)*amount
- GM.nitrogen = (nitrogen/sum)*amount
- GM.toxins = (toxins/sum)*amount
-
- GM.temperature = temperature
- GM.update_values()
-
- return GM
-
-/turf/simulated/var/current_graphic = null
-/turf/simulated/var/tmp/datum/gas_mixture/air
-/turf/simulated/var/tmp/processing = 1
-/turf/simulated/var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update
-/turf/simulated/var/tmp/obj/fire/active_hotspot
-/turf/simulated/var/tmp/was_icy=0
-
-/turf/simulated/proc/update_visuals()
- overlays = null
-
- var/siding_icon_state = return_siding_icon_state()
- if(siding_icon_state)
- overlays += image('icons/turf/floors.dmi',siding_icon_state)
-
- // ONLY USED IF ZAS_SETTINGS SAYS SO.
- var/datum/gas_mixture/model = return_air()
- if(model.graphics & GRAPHICS_COLD)
- if(!was_icy)
- wet=3 // Custom ice
- was_icy=1
- var/o=""
- //if(is_plating())
- // o="snowfloor_s"
- //else
- if(is_plasteel_floor())
- o="snowfloor"
- if(o!="")
- overlays += image('icons/turf/overlays.dmi',o)
- else
- if(was_icy)
- wet=0
- was_icy=0
- if(prob(10))
- wet = 1
- if(wet_overlay)
- overlays -= wet_overlay
- wet_overlay = null
- wet_overlay = image('icons/effects/water.dmi',src,"wet_floor")
- overlays += wet_overlay
-
- spawn(800)
- if (!istype(src)) return
- if(wet >= 2) return
- wet = 0
- if(wet_overlay)
- overlays -= wet_overlay
- wet_overlay = null
- if(model.graphics & GRAPHICS_PLASMA)
- overlays.Add(plmaster)
- if(model.graphics & GRAPHICS_N2O)
- overlays.Add(slmaster)
- //if(model.graphics & GRAPHICS_REAGENTS)
- // overlays.Add(slmaster/*rlmaster*/)
-
-
-/turf/simulated/New()
- ..()
-
- if(!blocks_air)
- air = new
-
- air.oxygen = oxygen
- air.carbon_dioxide = carbon_dioxide
- air.nitrogen = nitrogen
- air.toxins = toxins
-
- air.temperature = temperature
- air.update_values()
-
- if(air_master)
- air_master.tiles_to_update.Add(src)
-
- else
- if(air_master)
- for(var/direction in cardinal)
- var/turf/simulated/floor/target = get_step(src,direction)
- if(istype(target))
- air_master.tiles_to_update |= target
-
-/turf/simulated/Del()
- if(active_hotspot)
- del(active_hotspot)
- if(blocks_air)
- for(var/direction in list(NORTH, SOUTH, EAST, WEST))
- var/turf/simulated/tile = get_step(src,direction)
- if(istype(tile) && !tile.blocks_air)
- air_master.tiles_to_update.Add(tile)
- ..()
-
-/turf/simulated/copy_air_from(var/turf/T)
- //if(istype(T,/turf/simulated))
- // var/turf/simulated/ST=T
- // air=ST.air
- air=T.return_air()
-
-/turf/simulated/assume_air(datum/gas_mixture/giver)
- if(!giver) return 0
- if(zone)
- zone.air.merge(giver)
- return 1
- else
- return ..()
-
-/turf/simulated/return_air()
- if(zone)
- return zone.air
- else if(air)
- return air
-
- else
- return ..()
-
-/turf/simulated/remove_air(amount as num)
- if(zone)
- var/datum/gas_mixture/removed = null
- removed = zone.air.remove(amount)
- if(zone.air.check_tile_graphic())
- update_visuals(zone.air)
- return removed
- else if(air)
- var/datum/gas_mixture/removed = null
- removed = air.remove(amount)
-
- if(air.check_tile_graphic())
- update_visuals(air)
- return removed
-
- else
- return ..()
-
-/turf/simulated/proc/update_air_properties()
- var/air_directions_archived = air_check_directions
- air_check_directions = 0
-
- for(var/direction in cardinal)
- if(ZAirPass(get_step(src,direction)))
- air_check_directions |= direction
-
- if(!zone && !blocks_air) //No zone, but not a wall.
- for(var/direction in DoorDirections) //Check door directions first.
- if(air_check_directions&direction)
- var/turf/simulated/T = get_step(src,direction)
- if(!istype(T))
- continue
- if(T.zone)
- T.zone.AddTurf(src)
- break
- if(!zone) //Still no zone
- for(var/direction in CounterDoorDirections) //Check the others second.
- if(air_check_directions&direction)
- var/turf/simulated/T = get_step(src,direction)
- if(!istype(T))
- continue
- if(T.zone)
- T.zone.AddTurf(src)
- break
- if(!zone) //No zone found, new zone!
- new/zone(src)
- if(!zone) //Still no zone, the floodfill determined it is not part of a larger zone. Force a zone on it.
- new/zone(list(src))
-
- //Check pass sanity of the connections.
- if("\ref[src]" in air_master.turfs_with_connections)
- for(var/connection/C in air_master.turfs_with_connections["\ref[src]"])
- air_master.connections_to_check |= C
-
- if(zone && !zone.rebuild)
- if(zone.air.check_tile_graphic())
- update_visuals(zone.air)
- for(var/direction in cardinal)
- var/turf/T = get_step(src,direction)
- if(!istype(T))
- continue
-
- //I can connect to air in this direction
- if(air_check_directions&direction)
-
- //If either block air, we must look to see if the adjacent turfs need rebuilt.
- if(!CanPass(null, T, 0, 0))
-
- //Target blocks air
- if(!T.CanPass(null, T, 0, 0))
- var/turf/NT = get_step(T, direction)
-
- //If that turf is in my zone still, rebuild.
- if(istype(NT,/turf/simulated) && NT in zone.contents)
- zone.rebuild = 1
-
- //If that is an unsimulated tile in my zone, see if we need to rebuild or just remove.
- else if(istype(NT) && NT in zone.unsimulated_tiles)
- var/consider_rebuild = 0
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
- if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild
- consider_rebuild = 1
- break
- if(consider_rebuild)
- zone.rebuild = 1 //Gotta check if we need to rebuild, dammit
- else
- zone.RemoveTurf(NT) //Not adjacent to anything, and unsimulated. Goodbye~
-
- //To make a closed connection through closed door.
- ZConnect(T, src)
-
- //If I block air.
- else if(T.zone && !T.zone.rebuild)
- var/turf/NT = get_step(src, reverse_direction(direction))
-
- //If I am splitting a zone, rebuild.
- if(istype(NT,/turf/simulated) && (NT in T.zone.contents || (NT.zone && T in NT.zone.contents)))
- T.zone.rebuild = 1
-
- //If NT is unsimulated, parse if I should remove it or rebuild.
- else if(istype(NT) && NT in T.zone.unsimulated_tiles)
- var/consider_rebuild = 0
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
- if(istype(UT, /turf/simulated) && UT.zone == T.zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild
- consider_rebuild = 1
- break
-
- //Needs rebuilt.
- if(consider_rebuild)
- T.zone.rebuild = 1
-
- //Not adjacent to anything, and unsimulated. Goodbye~
- else
- T.zone.RemoveTurf(NT)
-
- else
- //Produce connection through open door.
- ZConnect(src,T)
-
- //Something like a wall was built, changing the geometry.
- else if(air_directions_archived&direction)
- var/turf/NT = get_step(T, direction)
-
- //If the tile is in our own zone, and we cannot connect to it, better rebuild.
- if(istype(NT,/turf/simulated) && NT in zone.contents)
- zone.rebuild = 1
-
- //Parse if we need to remove the tile, or rebuild the zone.
- else if(istype(NT) && NT in zone.unsimulated_tiles)
- var/consider_rebuild = 0
-
- //Loop through all neighboring turfs to see if we should remove the turf or just rebuild.
- for(var/d in cardinal)
- var/turf/UT = get_step(NT,d)
-
- //If we find a neighboring tile that is in the same zone, rebuild
- if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0))
- consider_rebuild = 1
- break
-
- //The unsimulated turf is adjacent to another one of our zone's turfs,
- // better rebuild to be sure we didn't get cut in twain
- if(consider_rebuild)
- zone.rebuild = 1
-
- //Not adjacent to anything, and unsimulated. Goodbye~
- else
- zone.RemoveTurf(NT)
-
- if(air_check_directions)
- processing = 1
- else
- processing = 0
- return 1
-
-/turf/proc/HasDoor(turf/O)
- //Checks for the presence of doors, used for zone spreading and connection.
- //A positive numerical argument checks only for closed doors.
- //Another turf as an argument checks for windoors between here and there.
- for(var/obj/machinery/door/D in src)
- if(isnum(O) && O)
- if(!D.density) continue
- if(istype(D,/obj/machinery/door/window))
- if(!istype(O))
- continue
- if(D.dir == get_dir(D,O))
- return 1
- else
- return 1
-
-/turf/proc/ZCanPass(turf/simulated/T, var/include_space = 0)
- //Fairly standard pass checks for turfs, objects and directional windows. Also stops at the edge of space.
- if(!istype(T))
- return 0
-
- if(!istype(T) && !include_space)
- return 0
- else
- if(T.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction)
- continue
- if(!obstacle.CanPass(null, T, 1.5, 1))
- return 0
-
- for(var/obj/obstacle in T)
- if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction)
- continue
- if(!obstacle.CanPass(null, src, 1.5, 1))
- return 0
-
- return 1
-
-/turf/proc/ZAirPass(turf/T)
- //Fairly standard pass checks for turfs, objects and directional windows.
- if(!istype(T))
- return 0
-
- if(T.blocks_air||blocks_air)
- return 0
-
- for(var/obj/obstacle in src)
- if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction)
- continue
- if(!obstacle.CanPass(null, T, 0, 0))
- return 0
-
- for(var/obj/obstacle in T)
- if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction)
- continue
- if(!obstacle.CanPass(null, src, 0, 0))
- return 0
-
- return 1
-
-/*UNUSED
-/turf/proc/check_connections()
- //Checks for new connections that can be made.
- for(var/d in cardinal)
- var/turf/simulated/T = get_step(src,d)
- if(istype(T) && ( !T.zone || !T.CanPass(0,src,0,0) ) )
- continue
- if(T.zone != zone)
- ZConnect(src,T)
-
-/turf/proc/check_for_space()
- //Checks for space around the turf.
- for(var/d in cardinal)
- var/turf/T = get_step(src,d)
- if(istype(T,/turf/space) && T.CanPass(0,src,0,0))
- zone.AddSpace(T)
- */
\ No newline at end of file
diff --git a/code/ZAS - vg/ZAS_Zones.dm b/code/ZAS - vg/ZAS_Zones.dm
deleted file mode 100644
index c538a6c7c2a..00000000000
--- a/code/ZAS - vg/ZAS_Zones.dm
+++ /dev/null
@@ -1,554 +0,0 @@
-var/list/zones = list()
-var/list/DoorDirections = list(NORTH,WEST) //Which directions doors turfs can connect to zones
-var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs can connect to zones
-
-/zone
- var/dbg_output = 0 //Enables debug output.
- var/rebuild = 0 //If 1, zone will be rebuilt on next process. Not sure if used.
- var/datum/gas_mixture/air //The air contents of the zone.
- var/list/contents //All the tiles that are contained in this zone.
- var/list/connections // /connection objects which refer to connections with other zones, e.g. through a door.
- var/list/connected_zones //Parallels connections, but lists zones to which this one is connected and the number
- //of points they're connected at.
- var/list/closed_connection_zones //Same as connected_zones, but for zones where the door or whatever is closed.
- var/list/unsimulated_tiles // Any space tiles in this list will cause air to flow out.
- var/last_update = 0
- var/progress = "nothing"
-
-
-//CREATION AND DELETION
-/zone/New(turf/start)
- . = ..()
- //Get the turfs that are part of the zone using a floodfill method
- if(istype(start,/list))
- contents = start
- else
- contents = FloodFill(start)
-
- //Change all the zone vars of the turfs, check for space to be added to unsimulated_tiles.
- for(var/turf/T in contents)
- if(T.zone && T.zone != src)
- T.zone.RemoveTurf(T)
- T.zone = src
- if(!istype(T,/turf/simulated))
- AddTurf(T)
-
- //Generate the gas_mixture for use in txhis zone by using the average of the gases
- //defined at startup.
- air = new
- air.group_multiplier = contents.len
- for(var/turf/simulated/T in contents)
- air.oxygen += T.oxygen / air.group_multiplier
- air.nitrogen += T.nitrogen / air.group_multiplier
- air.carbon_dioxide += T.carbon_dioxide / air.group_multiplier
- air.toxins += T.toxins / air.group_multiplier
- air.temperature += T.temperature / air.group_multiplier
- air.update_values()
-
- //Add this zone to the global list.
- zones.Add(src)
-
-
- //LEGACY, DO NOT USE. Use the SoftDelete proc.
-/zone/Del()
- //Ensuring the zone list doesn't get clogged with null values.
- for(var/turf/simulated/T in contents)
- RemoveTurf(T)
- air_master.tiles_to_reconsider_zones += T
- for(var/zone/Z in connected_zones)
- if(src in Z.connected_zones)
- Z.connected_zones.Remove(src)
- for(var/connection/C in connections)
- air_master.connections_to_check += C
- zones.Remove(src)
- air = null
- . = ..()
-
-
- //Handles deletion via garbage collection.
-/zone/proc/SoftDelete()
- zones.Remove(src)
- air = null
-
- //Ensuring the zone list doesn't get clogged with null values.
- for(var/turf/simulated/T in contents)
- RemoveTurf(T)
- air_master.tiles_to_reconsider_zones += T
-
- //Removing zone connections and scheduling connection cleanup
- for(var/zone/Z in connected_zones)
- if(src in Z.connected_zones)
- Z.connected_zones.Remove(src)
- connected_zones = null
-
- for(var/connection/C in connections)
- air_master.connections_to_check += C
- connections = null
-
- return 1
-
-
-//ZONE MANAGEMENT FUNCTIONS
-/zone/proc/AddTurf(turf/T)
- //Adds the turf to contents, increases the size of the zone, and sets the zone var.
- if(istype(T, /turf/simulated))
- if(T in contents)
- return
- if(T.zone)
- T.zone.RemoveTurf(T)
- contents += T
- if(air)
- air.group_multiplier++
- T.zone = src
- else
- if(!unsimulated_tiles)
- unsimulated_tiles = list()
- else if(T in unsimulated_tiles)
- return
- unsimulated_tiles += T
- contents -= T
-
-/zone/proc/RemoveTurf(turf/T)
- //Same, but in reverse.
- if(istype(T, /turf/simulated))
- if(!(T in contents))
- return
- contents -= T
- if(air)
- air.group_multiplier--
- if(T.zone == src)
- T.zone = null
- else if(unsimulated_tiles)
- unsimulated_tiles -= T
- if(!unsimulated_tiles.len)
- unsimulated_tiles = null
-
- //////////////
- //PROCESSING//
-//////////////
-
-#define QUANTIZE(variable) (round(variable,0.0001))
-
-/zone/proc/process()
- . = 1
-
- progress = "problem with: SoftDelete()"
-
- //Deletes zone if empty.
- if(!contents.len)
- return SoftDelete()
-
- progress = "problem with: Rebuild()"
-
- //Does rebuilding stuff.
- if(rebuild)
- rebuild = 0
- Rebuild() //Shoving this into a proc.
-
- if(!contents.len) //If we got soft deleted.
- return
-
- progress = "problem with: air regeneration"
-
- //Sometimes explosions will cause the air to be deleted for some reason.
- if(!air)
- air = new()
- air.oxygen = MOLES_O2STANDARD
- air.nitrogen = MOLES_N2STANDARD
- air.temperature = T0C
- air.total_moles()
- world.log << "Air object lost in zone. Regenerating."
-
-
- progress = "problem with: ShareSpace()"
-
- if(unsimulated_tiles)
- if(locate(/turf/simulated) in unsimulated_tiles)
- for(var/turf/simulated/T in unsimulated_tiles)
- unsimulated_tiles -= T
-
- if(unsimulated_tiles.len)
- var/moved_air = ShareSpace(air,unsimulated_tiles)
-
- if(moved_air > zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure))
- AirflowSpace(src)
- else
- unsimulated_tiles = null
-
- //Check the graphic.
- progress = "problem with: modifying turf graphics"
-
- air.graphics = 0
- if(air.toxins > MOLES_PLASMA_VISIBLE)
- air.graphics |= GRAPHICS_PLASMA
- if(air.trace_gases.len)
- var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases
- if(sleeping_agent && (sleeping_agent.moles > 1))
- air.graphics |= GRAPHICS_N2O
- // If configured and cold, maek ice
- if(zas_settings.Get(/datum/ZAS_Setting/ice_formation))
- if(air.temperature <= TEMPERATURE_ICE_FORMATION && air.return_pressure()>MIN_PRESSURE_ICE_FORMATION)
- air.graphics |= GRAPHICS_COLD
-
- progress = "problem with an inbuilt byond function: some conditional checks"
-
- //Only run through the individual turfs if there's reason to.
- if(air.graphics != air.graphics_archived || air.temperature > PLASMA_FLASHPOINT)
-
- progress = "problem with: turf/simulated/update_visuals()"
-
- for(var/turf/simulated/S in contents)
- //Update overlays.
- if(air.graphics != air.graphics_archived)
- if(S.HasDoor(1))
- S.update_visuals()
- else
- S.update_visuals(air)
-
- progress = "problem with: item or turf temperature_expose()"
-
- //Expose stuff to extreme heat.
- if(air.temperature > PLASMA_FLASHPOINT)
- for(var/atom/movable/item in S)
- item.temperature_expose(air, air.temperature, CELL_VOLUME)
- S.hotspot_expose(air.temperature, CELL_VOLUME)
-
- progress = "problem with: calculating air graphic"
-
- //Archive graphic so we can know if it's different.
- air.graphics_archived = air.graphics
-
- progress = "problem with: calculating air temp"
-
- //Ensure temperature does not reach absolute zero.
- air.temperature = max(TCMB,air.temperature)
-
- progress = "problem with an inbuilt byond function: length(connections)"
-
- //Handle connections to other zones.
- if(length(connections))
-
- progress = "problem with: ZMerge(), a couple of misc procs"
-
- for(var/connection/C in connections)
- //Check if the connection is valid first.
- if(!C.Cleanup())
- continue
-
- //Do merging if conditions are met. Specifically, if there's a non-door connection
- //to somewhere with space, the zones are merged regardless of equilibrium, to speed
- //up spacing in areas with double-plated windows.
- if(C && C.A.zone && C.B.zone)
- //indirect = 2 is a direct connection.
- if( C.indirect == 2 )
- if(C.A.zone.air.compare(C.B.zone.air) || unsimulated_tiles)
- ZMerge(C.A.zone,C.B.zone)
-
- progress = "problem with: ShareRatio(), Airflow(), a couple of misc procs"
-
- //Share some
- for(var/zone/Z in connected_zones)
- //If that zone has already processed, skip it.
- if(Z.last_update > last_update)
- continue
-
- if(air && Z.air)
- //Ensure we're not doing pointless calculations on equilibrium zones.
- var/moles_delta = abs(air.total_moles() - Z.air.total_moles())
- if(moles_delta > 0.1 || abs(air.temperature - Z.air.temperature) > 0.1)
- if(abs(Z.air.return_pressure() - air.return_pressure()) > zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure))
- Airflow(src,Z)
- var/unsimulated_boost = 0
- if(unsimulated_tiles)
- unsimulated_boost += unsimulated_tiles.len
- if(Z.unsimulated_tiles)
- unsimulated_boost += Z.unsimulated_tiles.len
- unsimulated_boost = max(0, min(3, unsimulated_boost))
- ShareRatio( air , Z.air , connected_zones[Z] + unsimulated_boost)
-
- for(var/zone/Z in closed_connection_zones)
- //If that zone has already processed, skip it.
- if(Z.last_update > last_update)
- continue
- if(air && Z.air)
- if( abs(air.temperature - Z.air.temperature) > zas_settings.Get(/datum/ZAS_Setting/connection_temperature_delta) )
- ShareHeat(air, Z.air, closed_connection_zones[Z])
-
- progress = "all components completed successfully, the problem is not here"
-
- ////////////////
- //Air Movement//
-////////////////
-
-var/list/sharing_lookup_table = list(0.30, 0.40, 0.48, 0.54, 0.60, 0.66)
-
-proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
- //Shares a specific ratio of gas between mixtures using simple weighted averages.
- var
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- ratio = sharing_lookup_table[6]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- size = max(1,A.group_multiplier)
- share_size = max(1,B.group_multiplier)
-
- full_oxy = A.oxygen * size
- full_nitro = A.nitrogen * size
- full_co2 = A.carbon_dioxide * size
- full_plasma = A.toxins * size
-
- full_heat_capacity = A.heat_capacity() * size
-
- s_full_oxy = B.oxygen * share_size
- s_full_nitro = B.nitrogen * share_size
- s_full_co2 = B.carbon_dioxide * share_size
- s_full_plasma = B.toxins * share_size
-
- s_full_heat_capacity = B.heat_capacity() * share_size
-
- oxy_avg = (full_oxy + s_full_oxy) / (size + share_size)
- nit_avg = (full_nitro + s_full_nitro) / (size + share_size)
- co2_avg = (full_co2 + s_full_co2) / (size + share_size)
- plasma_avg = (full_plasma + s_full_plasma) / (size + share_size)
-
- temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity)
-
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[connecting_tiles]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- A.oxygen = max(0, (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg )
- A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1-ratio) + nit_avg )
- A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg )
- A.toxins = max(0, (A.toxins - plasma_avg) * (1-ratio) + plasma_avg )
-
- A.temperature = max(0, (A.temperature - temp_avg) * (1-ratio) + temp_avg )
-
- B.oxygen = max(0, (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg )
- B.nitrogen = max(0, (B.nitrogen - nit_avg) * (1-ratio) + nit_avg )
- B.carbon_dioxide = max(0, (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg )
- B.toxins = max(0, (B.toxins - plasma_avg) * (1-ratio) + plasma_avg )
-
- B.temperature = max(0, (B.temperature - temp_avg) * (1-ratio) + temp_avg )
-
- for(var/datum/gas/G in A.trace_gases)
- var/datum/gas/H = locate(G.type) in B.trace_gases
- if(H)
- var/G_avg = (G.moles*size + H.moles*share_size) / (size+share_size)
- G.moles = (G.moles - G_avg) * (1-ratio) + G_avg
- H.moles = (H.moles - G_avg) * (1-ratio) + G_avg
- else
- H = new G.type
- B.trace_gases += H
- var/G_avg = (G.moles*size) / (size+share_size)
- G.moles = (G.moles - G_avg) * (1-ratio) + G_avg
- H.moles = (H.moles - G_avg) * (1-ratio) + G_avg
-
- A.update_values()
- B.update_values()
-
- if(A.compare(B)) return 1
- else return 0
-
-proc/ShareSpace(datum/gas_mixture/A, list/unsimulated_tiles, dbg_output)
- //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a large airless room.
- if(!unsimulated_tiles || !unsimulated_tiles.len)
- return 0
-
- var
- unsim_oxygen = 0
- unsim_nitrogen = 0
- unsim_co2 = 0
- unsim_plasma = 0
- unsim_heat_capacity = 0
- unsim_temperature = 0
-
- size = max(1,A.group_multiplier)
-
- // We use the same size for the potentially single space tile
- // as we use for the entire room. Why is this?
- // Short answer: We do not want larger rooms to depressurize more
- // slowly than small rooms, preserving our good old "hollywood-style"
- // oh-shit effect when large rooms get breached, but still having small
- // rooms remain pressurized for long enough to make escape possible.
- share_size = max(1, max(size + 3, 1) + unsimulated_tiles.len)
- correction_ratio = share_size / unsimulated_tiles.len
-
- for(var/turf/T in unsimulated_tiles)
- unsim_oxygen += T.oxygen
- unsim_co2 += T.carbon_dioxide
- unsim_nitrogen += T.nitrogen
- unsim_plasma += T.toxins
- unsim_temperature += T.temperature/unsimulated_tiles.len
-
- //These values require adjustment in order to properly represent a room of the specified size.
- unsim_oxygen *= correction_ratio
- unsim_co2 *= correction_ratio
- unsim_nitrogen *= correction_ratio
- unsim_plasma *= correction_ratio
- unsim_heat_capacity = HEAT_CAPACITY_CALCULATION(unsim_oxygen,unsim_co2,unsim_nitrogen,unsim_plasma)
-
- var
- ratio = sharing_lookup_table[6]
-
- old_pressure = A.return_pressure()
-
- full_oxy = A.oxygen * size
- full_nitro = A.nitrogen * size
- full_co2 = A.carbon_dioxide * size
- full_plasma = A.toxins * size
-
- full_heat_capacity = A.heat_capacity() * size
-
- oxy_avg = (full_oxy + unsim_oxygen) / (size + share_size)
- nit_avg = (full_nitro + unsim_nitrogen) / (size + share_size)
- co2_avg = (full_co2 + unsim_co2) / (size + share_size)
- plasma_avg = (full_plasma + unsim_plasma) / (size + share_size)
-
- temp_avg = (A.temperature * full_heat_capacity + unsim_temperature * unsim_heat_capacity) / (full_heat_capacity + unsim_heat_capacity)
-
- if(sharing_lookup_table.len >= unsimulated_tiles.len) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[unsimulated_tiles.len]
-
- A.oxygen = max(0, (A.oxygen - oxy_avg) * (1 - ratio) + oxy_avg )
- A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1 - ratio) + nit_avg )
- A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1 - ratio) + co2_avg )
- A.toxins = max(0, (A.toxins - plasma_avg) * (1 - ratio) + plasma_avg )
-
- // EXPERIMENTAL: Disable space being cold
- // N3X: Made this togglable for Pomf. Comment recovered from older code.
- if(!zas_settings.Get(/datum/ZAS_Setting/space_isnt_cold))
- A.temperature = max(TCMB, (A.temperature - temp_avg) * (1 - ratio) + temp_avg )
-
- for(var/datum/gas/G in A.trace_gases)
- var/G_avg = (G.moles * size) / (size + share_size)
- G.moles = (G.moles - G_avg) * (1 - ratio) + G_avg
-
- A.update_values()
-
- return abs(old_pressure - A.return_pressure())
-
-
-proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
- //Shares a specific ratio of gas between mixtures using simple weighted averages.
- var
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- ratio = sharing_lookup_table[6]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- full_heat_capacity = A.heat_capacity()
-
- s_full_heat_capacity = B.heat_capacity()
-
- temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity)
-
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
- if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick.
- ratio = sharing_lookup_table[connecting_tiles]
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD
-
- //We need to adjust it to account for the insulation settings.
- ratio *= 1 - zas_settings.Get(/datum/ZAS_Setting/connection_insulation)
-
- A.temperature = max(0, (A.temperature - temp_avg) * (1- (ratio / max(1,A.group_multiplier)) ) + temp_avg )
- B.temperature = max(0, (B.temperature - temp_avg) * (1- (ratio / max(1,B.group_multiplier)) ) + temp_avg )
-
-
- ///////////////////
- //Zone Rebuilding//
-///////////////////
-
-zone/proc/Rebuild()
- //Choose a random turf and regenerate the zone from it.
- var
- turf/simulated/sample = locate() in contents
- list/new_contents
- problem = 0
-
- //
- var/list/turfs_to_consider = contents.Copy()
-
- while(!sample || !sample.CanPass(null, sample, 1.5, 1))
- if(sample)
- turfs_to_consider.Remove(sample)
- sample = locate() in turfs_to_consider
- if(!sample)
- break
-
- if(!istype(sample) || !sample.CanPass(null, sample, 1.5, 1)) //Not a single valid turf.
- for(var/turf/simulated/T in contents)
- air_master.tiles_to_update |= T
- return SoftDelete()
-
- new_contents = FloodFill(sample)
-
- var/list/new_unsimulated = ( unsimulated_tiles ? unsimulated_tiles : list() )
-
- for(var/turf/S in new_contents)
- if(!istype(S, /turf/simulated))
- new_unsimulated |= S
- new_contents.Remove(S)
-
- if(contents.len != new_contents.len)
- problem = 1
-
- //If something isn't carried over, there was a complication.
- for(var/turf/T in contents)
- if(!(T in new_contents))
- T.zone = null
- problem = 1
-
- if(problem)
- //Build some new zones for stuff that wasn't included.
- var/list/turf/simulated/rebuild_turfs = contents - new_contents
- var/list/turf/simulated/reconsider_turfs = list()
- contents = new_contents
- for(var/turf/simulated/T in rebuild_turfs)
- if(!T.zone && T.CanPass(null, T, 1.5, 1))
- var/zone/Z = new /zone(T)
- Z.air.copy_from(air)
- else
- reconsider_turfs |= T
- for(var/turf/simulated/T in reconsider_turfs)
- if(!T.zone && T.CanPass(null, T, 1.5, 1))
- var/zone/Z = new /zone(T)
- Z.air.copy_from(air)
- else if(!T in air_master.tiles_to_update)
- air_master.tiles_to_update.Add(T)
-
- for(var/turf/simulated/T in contents)
- if(T.zone && T.zone != src)
- T.zone.RemoveTurf(T)
- T.zone = src
- else if(!T.zone)
- T.zone = src
- air.group_multiplier = contents.len
- unsimulated_tiles = null
-
- if(new_unsimulated.len)
- for(var/turf/S in new_unsimulated)
- if(istype(S, /turf/simulated))
- continue
- for(var/direction in cardinal)
- var/turf/simulated/T = get_step(S,direction)
- if(istype(T) && T.zone && S.CanPass(null, T, 0, 0))
- T.zone.AddTurf(S)
-
-//UNUSED
-/*
-zone/proc/connected_zones()
- //A legacy proc for getting connected zones.
- . = list()
- for(var/connection/C in connections)
- var/zone/Z
- if(C.A.zone == src)
- Z = C.B.zone
- else
- Z = C.A.zone
-
- if(Z in .)
- .[Z]++
- else
- . += Z
- .[Z] = 1*/
diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm
index 9995dc53193..1b2296bffd9 100644
--- a/code/ZAS/Airflow.dm
+++ b/code/ZAS/Airflow.dm
@@ -251,4 +251,36 @@ zone/proc/movables()
for(var/atom/A in T)
if(istype(A, /obj/effect) || istype(A, /mob/aiEye))
continue
- . += A
\ No newline at end of file
+ . += A
+
+//ULTRALIGHT - only file where this is still used, hence why it's in here
+#define UL_I_FALLOFF_SQUARE 0
+#define UL_I_FALLOFF_ROUND 1
+#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular.
+var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7)
+
+atom/proc/ul_FalloffAmount(var/atom/ref)
+ if (ul_FalloffStyle == UL_I_FALLOFF_ROUND)
+ var/delta_x = (ref.x - src.x)
+ var/delta_y = (ref.y - src.y)
+
+ #ifdef ul_LightingResolution
+ if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len)
+ for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++)
+ ul_FastRoot += round(sqrt(i))
+ return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution
+
+ #else
+ if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len)
+ for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++)
+ ul_FastRoot += round(sqrt(i))
+ return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1]
+
+ #endif
+
+ else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE)
+ return get_dist(src, ref)
+
+ return 0
\ No newline at end of file
diff --git a/code/WorkInProgress/Sayu/cargoprofile.dm b/code/datums/cargoprofile.dm
similarity index 99%
rename from code/WorkInProgress/Sayu/cargoprofile.dm
rename to code/datums/cargoprofile.dm
index 257f81d27a0..22b8446aa74 100644
--- a/code/WorkInProgress/Sayu/cargoprofile.dm
+++ b/code/datums/cargoprofile.dm
@@ -1,3 +1,4 @@
+#define MAXCOIL 30
/datum/cargoprofile
var/name = "All Items"
var/id = "all" // unique ID for the UI
@@ -794,4 +795,5 @@
return 0 // Be polite
var/punches = punch(M,remaining / PUNCH_WORK)
if(punches>1)master.sleep++
- return punches * PUNCH_WORK
\ No newline at end of file
+ return punches * PUNCH_WORK
+#undef MAXCOIL
\ No newline at end of file
diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/datums/medical_effects.dm
similarity index 100%
rename from code/WorkInProgress/Cib/MedicalSideEffects.dm
rename to code/datums/medical_effects.dm
diff --git a/code/WorkInProgress/periodic_news.dm b/code/datums/periodic_news.dm
similarity index 100%
rename from code/WorkInProgress/periodic_news.dm
rename to code/datums/periodic_news.dm
diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm
similarity index 100%
rename from code/WorkInProgress/Mini/atmos_control.dm
rename to code/game/machinery/computer/atmos_control.dm
diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/game/machinery/guestpass.dm
similarity index 100%
rename from code/WorkInProgress/Chinsky/guestpass.dm
rename to code/game/machinery/guestpass.dm
diff --git a/code/WorkInProgress/Sayu/programmable.dm b/code/game/machinery/programmable_unloader.dm
similarity index 98%
rename from code/WorkInProgress/Sayu/programmable.dm
rename to code/game/machinery/programmable_unloader.dm
index 9d2f5e09236..c481d6fa32c 100644
--- a/code/WorkInProgress/Sayu/programmable.dm
+++ b/code/game/machinery/programmable_unloader.dm
@@ -733,13 +733,3 @@
return
//End switch
-
-
-datum/design/programmable
- name = "Circuit Design (Programmable Unloader)"
- desc = "Allows for the construction of circuit boards used to build a Programmable Unloader."
- id = "selunload"
- req_tech = list("programming" = 5)
- build_type = IMPRINTER
- materials = list("$glass" = 2000, "sacid" = 20)
- build_path = "/obj/item/weapon/circuitboard/programmable"
diff --git a/code/WorkInProgress/ZomgPonies/oldcode/turntable.dm b/code/game/machinery/turntable.dm
similarity index 100%
rename from code/WorkInProgress/ZomgPonies/oldcode/turntable.dm
rename to code/game/machinery/turntable.dm
diff --git a/code/WorkInProgress/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm
similarity index 95%
rename from code/WorkInProgress/explosion_particles.dm
rename to code/game/objects/effects/explosion_particles.dm
index b63eeb9aab5..2666b8e9fd6 100644
--- a/code/WorkInProgress/explosion_particles.dm
+++ b/code/game/objects/effects/explosion_particles.dm
@@ -1,71 +1,71 @@
-/obj/effect/expl_particles
- name = "explosive particles"
- icon = 'icons/effects/effects.dmi'
- icon_state = "explosion_particle"
- opacity = 1
- anchored = 1
- mouse_opacity = 0
-
-/obj/effect/expl_particles/New()
- ..()
- spawn (15)
- src.loc = null
- return
-
-/obj/effect/expl_particles/Move()
- ..()
- return
-
-/datum/effect/system/expl_particles
- var/number = 10
- var/turf/location
- var/total_particles = 0
-
-/datum/effect/system/expl_particles/proc/set_up(n = 10, loca)
- number = n
- if(istype(loca, /turf/)) location = loca
- else location = get_turf(loca)
-
-/datum/effect/system/expl_particles/proc/start()
- var/i = 0
- for(i=0, i [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])"
+ log_attack(" [user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey])")
+ user.visible_message("\red [user.name] is trying to strap a belt to [target.name]!")
+
+
+ if(do_after(user, 50) && in_range(user, target))
+ user.drop_item()
+ target = target
+ loc = null
+ var/location
+ if (isturf(target)) location = target
+ if (ismob(target))
+ target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])"
+ user.visible_message("\red [user.name] finished planting an explosive on [target.name]!")
+ target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
+ user << "You sacrifice your belt for the sake of justice. Timer counting down from 15."
+ spawn(150)
+ if(target)
+ if(ismob(target) || isobj(target))
+ location = target.loc // These things can move
+ explosion(location, -1, -1, 2, 3)
+ if (istype(target, /turf/simulated/wall)) target:dismantle_wall(1)
+ else target.ex_act(1)
+ if (isobj(target))
+ if (target)
+ del(target)
+ if (src)
+ del(src)
+/obj/item/weapon/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone)
+ return
+
+/obj/item/weapon/storage/belt/bluespace/admin
+ name = "Admin's Tool-belt"
+ desc = "Holds everything for those that run everything."
+ icon_state = "soulstonebelt"
+ item_state = "soulstonebelt"
+ w_class = 10 // permit holding other storage items
+ storage_slots = 28
+ max_w_class = 10
+ max_combined_w_class = 280
+ can_hold = list()
+
+ New()
+ ..()
+ new /obj/item/weapon/crowbar(src)
+ new /obj/item/weapon/screwdriver(src)
+ new /obj/item/weapon/weldingtool/hugetank(src)
+ new /obj/item/weapon/wirecutters(src)
+ new /obj/item/weapon/wrench(src)
+ new /obj/item/device/multitool(src)
+ new /obj/item/stack/cable_coil(src)
+
+ new /obj/item/weapon/handcuffs(src)
+ new /obj/item/weapon/dnainjector/xraymut(src)
+ new /obj/item/weapon/dnainjector/firemut(src)
+ new /obj/item/weapon/dnainjector/telemut(src)
+ new /obj/item/weapon/dnainjector/hulkmut(src)
+// new /obj/item/weapon/spellbook(src) // for smoke effects, door openings, etc
+// new /obj/item/weapon/magic/spellbook(src)
+
+// new/obj/item/weapon/reagent_containers/hypospray/admin(src)
+
+/obj/item/weapon/storage/belt/bluespace/sandbox
+ name = "Sandbox Mode Toolbelt"
+ desc = "Holds whatever, you can spawn your own damn stuff."
+ w_class = 10 // permit holding other storage items
+ storage_slots = 28
+ max_w_class = 10
+ max_combined_w_class = 280
+ can_hold = list()
+
+ New()
+ ..()
+ new /obj/item/weapon/crowbar(src)
+ new /obj/item/weapon/screwdriver(src)
+ new /obj/item/weapon/weldingtool/hugetank(src)
+ new /obj/item/weapon/wirecutters(src)
+ new /obj/item/weapon/wrench(src)
+ new /obj/item/device/multitool(src)
+ new /obj/item/stack/cable_coil(src)
+
+ new /obj/item/device/analyzer(src)
+ new /obj/item/device/healthanalyzer(src)
+
\ No newline at end of file
diff --git a/code/WorkInProgress/buildmode.dm b/code/modules/admin/buildmode.dm
similarity index 97%
rename from code/WorkInProgress/buildmode.dm
rename to code/modules/admin/buildmode.dm
index f5474e8a8b2..1c980e5272d 100644
--- a/code/WorkInProgress/buildmode.dm
+++ b/code/modules/admin/buildmode.dm
@@ -1,266 +1,266 @@
-/proc/togglebuildmode(mob/M as mob in player_list)
- set name = "Toggle Build Mode"
- set category = "Special Verbs"
- if(M.client)
- if(M.client.buildmode)
- log_admin("[key_name(usr)] has left build mode.")
- M.client.buildmode = 0
- M.client.show_popup_menus = 1
- for(var/obj/effect/bmode/buildholder/H)
- if(H.cl == M.client)
- del(H)
- else
- log_admin("[key_name(usr)] has entered build mode.")
- M.client.buildmode = 1
- M.client.show_popup_menus = 0
-
- var/obj/effect/bmode/buildholder/H = new/obj/effect/bmode/buildholder()
- var/obj/effect/bmode/builddir/A = new/obj/effect/bmode/builddir(H)
- A.master = H
- var/obj/effect/bmode/buildhelp/B = new/obj/effect/bmode/buildhelp(H)
- B.master = H
- var/obj/effect/bmode/buildmode/C = new/obj/effect/bmode/buildmode(H)
- C.master = H
- var/obj/effect/bmode/buildquit/D = new/obj/effect/bmode/buildquit(H)
- D.master = H
-
- H.builddir = A
- H.buildhelp = B
- H.buildmode = C
- H.buildquit = D
- M.client.screen += A
- M.client.screen += B
- M.client.screen += C
- M.client.screen += D
- H.cl = M.client
-
-/obj/effect/bmode//Cleaning up the tree a bit
- density = 1
- anchored = 1
- layer = 20
- dir = NORTH
- icon = 'icons/misc/buildmode.dmi'
- var/obj/effect/bmode/buildholder/master = null
-
-/obj/effect/bmode/builddir
- icon_state = "build"
- screen_loc = "NORTH,WEST"
- Click()
- switch(dir)
- if(NORTH)
- dir = EAST
- if(EAST)
- dir = SOUTH
- if(SOUTH)
- dir = WEST
- if(WEST)
- dir = SOUTHWEST
- if(SOUTHWEST)
- dir = NORTH
- return 1
-
-/obj/effect/bmode/buildhelp
- icon = 'icons/misc/buildmode.dmi'
- icon_state = "buildhelp"
- screen_loc = "NORTH,WEST+1"
- Click()
- switch(master.cl.buildmode)
- if(1)
- usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button = Construct / Upgrade"
- usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
- usr << "\blue Left Mouse Button + ctrl = R-Window"
- usr << "\blue Left Mouse Button + alt = Airlock"
- usr << ""
- usr << "\blue Use the button in the upper left corner to"
- usr << "\blue change the direction of built objects."
- usr << "\blue ***********************************************************"
- if(2)
- usr << "\blue ***********************************************************"
- usr << "\blue Right Mouse Button on buildmode button = Set object type"
- usr << "\blue Left Mouse Button on turf/obj = Place objects"
- usr << "\blue Right Mouse Button = Delete objects"
- usr << ""
- usr << "\blue Use the button in the upper left corner to"
- usr << "\blue change the direction of built objects."
- usr << "\blue ***********************************************************"
- if(3)
- usr << "\blue ***********************************************************"
- usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
- usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
- usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
- usr << "\blue ***********************************************************"
- if(4)
- usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button on turf/obj/mob = Select"
- usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
- usr << "\blue ***********************************************************"
- return 1
-
-/obj/effect/bmode/buildquit
- icon_state = "buildquit"
- screen_loc = "NORTH,WEST+3"
-
- Click()
- togglebuildmode(master.cl.mob)
- return 1
-
-/obj/effect/bmode/buildholder
- density = 0
- anchored = 1
- var/client/cl = null
- var/obj/effect/bmode/builddir/builddir = null
- var/obj/effect/bmode/buildhelp/buildhelp = null
- var/obj/effect/bmode/buildmode/buildmode = null
- var/obj/effect/bmode/buildquit/buildquit = null
- var/atom/movable/throw_atom = null
-
-/obj/effect/bmode/buildmode
- icon_state = "buildmode1"
- screen_loc = "NORTH,WEST+2"
- var/varholder = "name"
- var/valueholder = "derp"
- var/objholder = /obj/structure/closet
-
- Click(location, control, params)
- var/list/pa = params2list(params)
-
- if(pa.Find("left"))
- switch(master.cl.buildmode)
- if(1)
- master.cl.buildmode = 2
- src.icon_state = "buildmode2"
- if(2)
- master.cl.buildmode = 3
- src.icon_state = "buildmode3"
- if(3)
- master.cl.buildmode = 4
- src.icon_state = "buildmode4"
- if(4)
- master.cl.buildmode = 1
- src.icon_state = "buildmode1"
-
- else if(pa.Find("right"))
- switch(master.cl.buildmode)
- if(1)
- return 1
- if(2)
- objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet"))
- if(!ispath(objholder))
- objholder = /obj/structure/closet
- alert("That path is not allowed.")
- else
- if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0))
- objholder = /obj/structure/closet
- if(3)
- var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
-
- master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
- if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
- return 1
- var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference")
- if(!thetype) return 1
- switch(thetype)
- if("text")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text
- if("number")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num
- if("mob-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list
- if("obj-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world
- if("turf-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world
- return 1
-
-
-/proc/build_click(var/mob/user, buildmode, params, var/obj/object)
- var/obj/effect/bmode/buildholder/holder = null
- for(var/obj/effect/bmode/buildholder/H)
- if(H.cl == user.client)
- holder = H
- break
- if(!holder) return
- var/list/pa = params2list(params)
-
- switch(buildmode)
- if(1)
- if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") )
- if(istype(object,/turf/space))
- var/turf/T = object
- T.ChangeTurf(/turf/simulated/floor)
- return
- else if(istype(object,/turf/simulated/floor))
- var/turf/T = object
- T.ChangeTurf(/turf/simulated/wall)
- return
- else if(istype(object,/turf/simulated/wall))
- var/turf/T = object
- T.ChangeTurf(/turf/simulated/wall/r_wall)
- return
- else if(pa.Find("right"))
- if(istype(object,/turf/simulated/wall))
- var/turf/T = object
- T.ChangeTurf(/turf/simulated/floor)
- return
- else if(istype(object,/turf/simulated/floor))
- var/turf/T = object
- T.ChangeTurf(/turf/space)
- return
- else if(istype(object,/turf/simulated/wall/r_wall))
- var/turf/T = object
- T.ChangeTurf(/turf/simulated/wall)
- return
- else if(istype(object,/obj))
- del(object)
- return
- else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left"))
- new/obj/machinery/door/airlock(get_turf(object))
- else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left"))
- switch(holder.builddir.dir)
- if(NORTH)
- var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
- WIN.dir = NORTH
- if(SOUTH)
- var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
- WIN.dir = SOUTH
- if(EAST)
- var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
- WIN.dir = EAST
- if(WEST)
- var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
- WIN.dir = WEST
- if(SOUTHWEST)
- new/obj/structure/window/full/reinforced(get_turf(object))
- if(2)
- if(pa.Find("left"))
- if(ispath(holder.buildmode.objholder,/turf))
- var/turf/T = get_turf(object)
- T.ChangeTurf(holder.buildmode.objholder)
- else
- var/obj/A = new holder.buildmode.objholder (get_turf(object))
- A.dir = holder.builddir.dir
- else if(pa.Find("right"))
- if(isobj(object)) del(object)
-
- if(3)
- if(pa.Find("left")) //I cant believe this shit actually compiles.
- if(object.vars.Find(holder.buildmode.varholder))
- log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
- object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
- else
- usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
- if(pa.Find("right"))
- if(object.vars.Find(holder.buildmode.varholder))
- log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
- object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
- else
- usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
-
- if(4)
- if(pa.Find("left"))
- holder.throw_atom = object
- if(pa.Find("right"))
- if(holder.throw_atom)
- holder.throw_atom.throw_at(object, 10, 1)
-
+/proc/togglebuildmode(mob/M as mob in player_list)
+ set name = "Toggle Build Mode"
+ set category = "Special Verbs"
+ if(M.client)
+ if(M.client.buildmode)
+ log_admin("[key_name(usr)] has left build mode.")
+ M.client.buildmode = 0
+ M.client.show_popup_menus = 1
+ for(var/obj/effect/bmode/buildholder/H)
+ if(H.cl == M.client)
+ del(H)
+ else
+ log_admin("[key_name(usr)] has entered build mode.")
+ M.client.buildmode = 1
+ M.client.show_popup_menus = 0
+
+ var/obj/effect/bmode/buildholder/H = new/obj/effect/bmode/buildholder()
+ var/obj/effect/bmode/builddir/A = new/obj/effect/bmode/builddir(H)
+ A.master = H
+ var/obj/effect/bmode/buildhelp/B = new/obj/effect/bmode/buildhelp(H)
+ B.master = H
+ var/obj/effect/bmode/buildmode/C = new/obj/effect/bmode/buildmode(H)
+ C.master = H
+ var/obj/effect/bmode/buildquit/D = new/obj/effect/bmode/buildquit(H)
+ D.master = H
+
+ H.builddir = A
+ H.buildhelp = B
+ H.buildmode = C
+ H.buildquit = D
+ M.client.screen += A
+ M.client.screen += B
+ M.client.screen += C
+ M.client.screen += D
+ H.cl = M.client
+
+/obj/effect/bmode//Cleaning up the tree a bit
+ density = 1
+ anchored = 1
+ layer = 20
+ dir = NORTH
+ icon = 'icons/misc/buildmode.dmi'
+ var/obj/effect/bmode/buildholder/master = null
+
+/obj/effect/bmode/builddir
+ icon_state = "build"
+ screen_loc = "NORTH,WEST"
+ Click()
+ switch(dir)
+ if(NORTH)
+ dir = EAST
+ if(EAST)
+ dir = SOUTH
+ if(SOUTH)
+ dir = WEST
+ if(WEST)
+ dir = SOUTHWEST
+ if(SOUTHWEST)
+ dir = NORTH
+ return 1
+
+/obj/effect/bmode/buildhelp
+ icon = 'icons/misc/buildmode.dmi'
+ icon_state = "buildhelp"
+ screen_loc = "NORTH,WEST+1"
+ Click()
+ switch(master.cl.buildmode)
+ if(1)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Left Mouse Button = Construct / Upgrade"
+ usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
+ usr << "\blue Left Mouse Button + ctrl = R-Window"
+ usr << "\blue Left Mouse Button + alt = Airlock"
+ usr << ""
+ usr << "\blue Use the button in the upper left corner to"
+ usr << "\blue change the direction of built objects."
+ usr << "\blue ***********************************************************"
+ if(2)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Right Mouse Button on buildmode button = Set object type"
+ usr << "\blue Left Mouse Button on turf/obj = Place objects"
+ usr << "\blue Right Mouse Button = Delete objects"
+ usr << ""
+ usr << "\blue Use the button in the upper left corner to"
+ usr << "\blue change the direction of built objects."
+ usr << "\blue ***********************************************************"
+ if(3)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
+ usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
+ usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
+ usr << "\blue ***********************************************************"
+ if(4)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Left Mouse Button on turf/obj/mob = Select"
+ usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
+ usr << "\blue ***********************************************************"
+ return 1
+
+/obj/effect/bmode/buildquit
+ icon_state = "buildquit"
+ screen_loc = "NORTH,WEST+3"
+
+ Click()
+ togglebuildmode(master.cl.mob)
+ return 1
+
+/obj/effect/bmode/buildholder
+ density = 0
+ anchored = 1
+ var/client/cl = null
+ var/obj/effect/bmode/builddir/builddir = null
+ var/obj/effect/bmode/buildhelp/buildhelp = null
+ var/obj/effect/bmode/buildmode/buildmode = null
+ var/obj/effect/bmode/buildquit/buildquit = null
+ var/atom/movable/throw_atom = null
+
+/obj/effect/bmode/buildmode
+ icon_state = "buildmode1"
+ screen_loc = "NORTH,WEST+2"
+ var/varholder = "name"
+ var/valueholder = "derp"
+ var/objholder = /obj/structure/closet
+
+ Click(location, control, params)
+ var/list/pa = params2list(params)
+
+ if(pa.Find("left"))
+ switch(master.cl.buildmode)
+ if(1)
+ master.cl.buildmode = 2
+ src.icon_state = "buildmode2"
+ if(2)
+ master.cl.buildmode = 3
+ src.icon_state = "buildmode3"
+ if(3)
+ master.cl.buildmode = 4
+ src.icon_state = "buildmode4"
+ if(4)
+ master.cl.buildmode = 1
+ src.icon_state = "buildmode1"
+
+ else if(pa.Find("right"))
+ switch(master.cl.buildmode)
+ if(1)
+ return 1
+ if(2)
+ objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet"))
+ if(!ispath(objholder))
+ objholder = /obj/structure/closet
+ alert("That path is not allowed.")
+ else
+ if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0))
+ objholder = /obj/structure/closet
+ if(3)
+ var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
+
+ master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
+ if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
+ return 1
+ var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference")
+ if(!thetype) return 1
+ switch(thetype)
+ if("text")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text
+ if("number")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num
+ if("mob-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list
+ if("obj-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world
+ if("turf-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world
+ return 1
+
+
+/proc/build_click(var/mob/user, buildmode, params, var/obj/object)
+ var/obj/effect/bmode/buildholder/holder = null
+ for(var/obj/effect/bmode/buildholder/H)
+ if(H.cl == user.client)
+ holder = H
+ break
+ if(!holder) return
+ var/list/pa = params2list(params)
+
+ switch(buildmode)
+ if(1)
+ if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") )
+ if(istype(object,/turf/space))
+ var/turf/T = object
+ T.ChangeTurf(/turf/simulated/floor)
+ return
+ else if(istype(object,/turf/simulated/floor))
+ var/turf/T = object
+ T.ChangeTurf(/turf/simulated/wall)
+ return
+ else if(istype(object,/turf/simulated/wall))
+ var/turf/T = object
+ T.ChangeTurf(/turf/simulated/wall/r_wall)
+ return
+ else if(pa.Find("right"))
+ if(istype(object,/turf/simulated/wall))
+ var/turf/T = object
+ T.ChangeTurf(/turf/simulated/floor)
+ return
+ else if(istype(object,/turf/simulated/floor))
+ var/turf/T = object
+ T.ChangeTurf(/turf/space)
+ return
+ else if(istype(object,/turf/simulated/wall/r_wall))
+ var/turf/T = object
+ T.ChangeTurf(/turf/simulated/wall)
+ return
+ else if(istype(object,/obj))
+ del(object)
+ return
+ else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left"))
+ new/obj/machinery/door/airlock(get_turf(object))
+ else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left"))
+ switch(holder.builddir.dir)
+ if(NORTH)
+ var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
+ WIN.dir = NORTH
+ if(SOUTH)
+ var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
+ WIN.dir = SOUTH
+ if(EAST)
+ var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
+ WIN.dir = EAST
+ if(WEST)
+ var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object))
+ WIN.dir = WEST
+ if(SOUTHWEST)
+ new/obj/structure/window/full/reinforced(get_turf(object))
+ if(2)
+ if(pa.Find("left"))
+ if(ispath(holder.buildmode.objholder,/turf))
+ var/turf/T = get_turf(object)
+ T.ChangeTurf(holder.buildmode.objholder)
+ else
+ var/obj/A = new holder.buildmode.objholder (get_turf(object))
+ A.dir = holder.builddir.dir
+ else if(pa.Find("right"))
+ if(isobj(object)) del(object)
+
+ if(3)
+ if(pa.Find("left")) //I cant believe this shit actually compiles.
+ if(object.vars.Find(holder.buildmode.varholder))
+ log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
+ object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
+ else
+ usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
+ if(pa.Find("right"))
+ if(object.vars.Find(holder.buildmode.varholder))
+ log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
+ object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
+ else
+ usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
+
+ if(4)
+ if(pa.Find("left"))
+ holder.throw_atom = object
+ if(pa.Find("right"))
+ if(holder.throw_atom)
+ holder.throw_atom.throw_at(object, 10, 1)
+
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 9250796e29a..012497c8e08 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -127,4 +127,35 @@
item_state = "s_helmet"
desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies."
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
\ No newline at end of file
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
+
+//Mime's Hardsuit
+/obj/item/clothing/head/helmet/space/eva/mime
+ name = "mime eva helmet"
+// icon = 'spaceciv.dmi'
+ desc = "An eva helmet specifically designed for the mime."
+ icon_state = "spacemimehelmet"
+ item_state = "spacemimehelmet"
+
+/obj/item/clothing/suit/space/eva/mime
+ name = "mime eva suit"
+// icon = 'spaceciv.dmi'
+ desc = "An EVA suit specifically designed for the mime."
+ icon_state = "spacemime_suit"
+ item_state = "spacemime_items"
+ allowed = list(/obj/item/weapon/tank)
+
+/obj/item/clothing/head/helmet/space/eva/clown
+ name = "clown eva helmet"
+// icon = 'spaceciv.dmi'
+ desc = "An EVA helmet specifically designed for the clown. SPESSHONK!"
+ icon_state = "clownhelmet"
+ item_state = "clownhelmet"
+
+/obj/item/clothing/suit/space/eva/clown
+ name = "clown eva suit"
+// icon = 'spaceciv.dmi'
+ desc = "An EVA suit specifically designed for the clown. SPESSHONK!"
+ icon_state = "spaceclown_suit"
+ item_state = "spaceclown_items"
+ allowed = list(/obj/item/weapon/tank)
diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/modules/computer3/NTOS.dm
similarity index 100%
rename from code/WorkInProgress/computer3/NTOS.dm
rename to code/modules/computer3/NTOS.dm
diff --git a/code/WorkInProgress/computer3/bios.dm b/code/modules/computer3/bios.dm
similarity index 100%
rename from code/WorkInProgress/computer3/bios.dm
rename to code/modules/computer3/bios.dm
diff --git a/code/WorkInProgress/computer3/buildandrepair.dm b/code/modules/computer3/buildandrepair.dm
similarity index 100%
rename from code/WorkInProgress/computer3/buildandrepair.dm
rename to code/modules/computer3/buildandrepair.dm
diff --git a/code/WorkInProgress/computer3/component.dm b/code/modules/computer3/component.dm
similarity index 100%
rename from code/WorkInProgress/computer3/component.dm
rename to code/modules/computer3/component.dm
diff --git a/code/WorkInProgress/computer3/computer.dm b/code/modules/computer3/computer.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computer.dm
rename to code/modules/computer3/computer.dm
diff --git a/code/WorkInProgress/computer3/computer3_notes.dm b/code/modules/computer3/computer3_notes.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computer3_notes.dm
rename to code/modules/computer3/computer3_notes.dm
diff --git a/code/WorkInProgress/computer3/computers/HolodeckControl.dm b/code/modules/computer3/computers/HolodeckControl.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/HolodeckControl.dm
rename to code/modules/computer3/computers/HolodeckControl.dm
diff --git a/code/WorkInProgress/computer3/computers/Operating.dm b/code/modules/computer3/computers/Operating.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/Operating.dm
rename to code/modules/computer3/computers/Operating.dm
diff --git a/code/WorkInProgress/computer3/computers/aifixer.dm b/code/modules/computer3/computers/aifixer.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/aifixer.dm
rename to code/modules/computer3/computers/aifixer.dm
diff --git a/code/WorkInProgress/computer3/computers/arcade.dm b/code/modules/computer3/computers/arcade.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/arcade.dm
rename to code/modules/computer3/computers/arcade.dm
diff --git a/code/WorkInProgress/computer3/computers/atmos_alert.dm b/code/modules/computer3/computers/atmos_alert.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/atmos_alert.dm
rename to code/modules/computer3/computers/atmos_alert.dm
diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/modules/computer3/computers/camera.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/camera.dm
rename to code/modules/computer3/computers/camera.dm
diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/modules/computer3/computers/card.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/card.dm
rename to code/modules/computer3/computers/card.dm
diff --git a/code/WorkInProgress/computer3/computers/cloning.dm b/code/modules/computer3/computers/cloning.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/cloning.dm
rename to code/modules/computer3/computers/cloning.dm
diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/modules/computer3/computers/communications.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/communications.dm
rename to code/modules/computer3/computers/communications.dm
diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/modules/computer3/computers/crew.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/crew.dm
rename to code/modules/computer3/computers/crew.dm
diff --git a/code/WorkInProgress/computer3/computers/customs.dm b/code/modules/computer3/computers/customs.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/customs.dm
rename to code/modules/computer3/computers/customs.dm
diff --git a/code/WorkInProgress/computer3/computers/law.dm b/code/modules/computer3/computers/law.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/law.dm
rename to code/modules/computer3/computers/law.dm
diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/modules/computer3/computers/medical.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/medical.dm
rename to code/modules/computer3/computers/medical.dm
diff --git a/code/WorkInProgress/computer3/computers/message.dm b/code/modules/computer3/computers/message.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/message.dm
rename to code/modules/computer3/computers/message.dm
diff --git a/code/WorkInProgress/computer3/computers/power.dm b/code/modules/computer3/computers/power.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/power.dm
rename to code/modules/computer3/computers/power.dm
diff --git a/code/WorkInProgress/computer3/computers/prisoner.dm b/code/modules/computer3/computers/prisoner.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/prisoner.dm
rename to code/modules/computer3/computers/prisoner.dm
diff --git a/code/WorkInProgress/computer3/computers/prisonshuttle.dm b/code/modules/computer3/computers/prisonshuttle.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/prisonshuttle.dm
rename to code/modules/computer3/computers/prisonshuttle.dm
diff --git a/code/WorkInProgress/computer3/computers/robot.dm b/code/modules/computer3/computers/robot.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/robot.dm
rename to code/modules/computer3/computers/robot.dm
diff --git a/code/WorkInProgress/computer3/computers/scanconsole.dm b/code/modules/computer3/computers/scanconsole.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/scanconsole.dm
rename to code/modules/computer3/computers/scanconsole.dm
diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/modules/computer3/computers/security.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/security.dm
rename to code/modules/computer3/computers/security.dm
diff --git a/code/WorkInProgress/computer3/computers/shuttle.dm b/code/modules/computer3/computers/shuttle.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/shuttle.dm
rename to code/modules/computer3/computers/shuttle.dm
diff --git a/code/WorkInProgress/computer3/computers/specops_shuttle.dm b/code/modules/computer3/computers/specops_shuttle.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/specops_shuttle.dm
rename to code/modules/computer3/computers/specops_shuttle.dm
diff --git a/code/WorkInProgress/computer3/computers/station_alert.dm b/code/modules/computer3/computers/station_alert.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/station_alert.dm
rename to code/modules/computer3/computers/station_alert.dm
diff --git a/code/WorkInProgress/computer3/computers/syndicate_shuttle.dm b/code/modules/computer3/computers/syndicate_shuttle.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/syndicate_shuttle.dm
rename to code/modules/computer3/computers/syndicate_shuttle.dm
diff --git a/code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm b/code/modules/computer3/computers/syndicate_specops_shuttle.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm
rename to code/modules/computer3/computers/syndicate_specops_shuttle.dm
diff --git a/code/WorkInProgress/computer3/computers/welcome.dm b/code/modules/computer3/computers/welcome.dm
similarity index 100%
rename from code/WorkInProgress/computer3/computers/welcome.dm
rename to code/modules/computer3/computers/welcome.dm
diff --git a/code/WorkInProgress/computer3/file.dm b/code/modules/computer3/file.dm
similarity index 100%
rename from code/WorkInProgress/computer3/file.dm
rename to code/modules/computer3/file.dm
diff --git a/code/WorkInProgress/computer3/laptop.dm b/code/modules/computer3/laptop.dm
similarity index 100%
rename from code/WorkInProgress/computer3/laptop.dm
rename to code/modules/computer3/laptop.dm
diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/modules/computer3/lapvend.dm
similarity index 100%
rename from code/WorkInProgress/computer3/lapvend.dm
rename to code/modules/computer3/lapvend.dm
diff --git a/code/WorkInProgress/computer3/networking.dm b/code/modules/computer3/networking.dm
similarity index 100%
rename from code/WorkInProgress/computer3/networking.dm
rename to code/modules/computer3/networking.dm
diff --git a/code/WorkInProgress/computer3/program.dm b/code/modules/computer3/program.dm
similarity index 100%
rename from code/WorkInProgress/computer3/program.dm
rename to code/modules/computer3/program.dm
diff --git a/code/WorkInProgress/computer3/program_disks.dm b/code/modules/computer3/program_disks.dm
similarity index 100%
rename from code/WorkInProgress/computer3/program_disks.dm
rename to code/modules/computer3/program_disks.dm
diff --git a/code/WorkInProgress/computer3/server.dm b/code/modules/computer3/server.dm
similarity index 100%
rename from code/WorkInProgress/computer3/server.dm
rename to code/modules/computer3/server.dm
diff --git a/code/WorkInProgress/computer3/storage.dm b/code/modules/computer3/storage.dm
similarity index 100%
rename from code/WorkInProgress/computer3/storage.dm
rename to code/modules/computer3/storage.dm
diff --git a/code/WorkInProgress/computer3/test_machines.dm b/code/modules/computer3/test_machines.dm
similarity index 100%
rename from code/WorkInProgress/computer3/test_machines.dm
rename to code/modules/computer3/test_machines.dm
diff --git a/code/WorkInProgress/computer3/upload/lawfile.dm b/code/modules/computer3/upload/lawfile.dm
similarity index 100%
rename from code/WorkInProgress/computer3/upload/lawfile.dm
rename to code/modules/computer3/upload/lawfile.dm
diff --git a/code/WorkInProgress/computer3/upload/programs.dm b/code/modules/computer3/upload/programs.dm
similarity index 100%
rename from code/WorkInProgress/computer3/upload/programs.dm
rename to code/modules/computer3/upload/programs.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm b/code/modules/jungle/falsewall.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm
rename to code/modules/jungle/falsewall.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm b/code/modules/jungle/jungle.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm
rename to code/modules/jungle/jungle.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi b/code/modules/jungle/jungle.dmi
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi
rename to code/modules/jungle/jungle.dmi
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm b/code/modules/jungle/jungle_animals.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm
rename to code/modules/jungle/jungle_animals.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm b/code/modules/jungle/jungle_plants.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm
rename to code/modules/jungle/jungle_plants.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm b/code/modules/jungle/jungle_temple.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm
rename to code/modules/jungle/jungle_temple.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm b/code/modules/jungle/jungle_tribe.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm
rename to code/modules/jungle/jungle_tribe.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm b/code/modules/jungle/jungle_turfs.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm
rename to code/modules/jungle/jungle_turfs.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm b/code/modules/jungle/misc_helpers.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm
rename to code/modules/jungle/misc_helpers.dm
diff --git a/code/WorkInProgress/ZomgPonies/mobs/pony.dm b/code/modules/mob/living/simple_animal/pony.dm
similarity index 100%
rename from code/WorkInProgress/ZomgPonies/mobs/pony.dm
rename to code/modules/mob/living/simple_animal/pony.dm
diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm
index 1a3711b3f3e..54fe591a901 100644
--- a/code/modules/research/designs/bluespace_designs.dm
+++ b/code/modules/research/designs/bluespace_designs.dm
@@ -23,8 +23,19 @@
build_path = /obj/item/weapon/storage/backpack/holding
category = list("Bluespace")
+/datum/design/bluespace_belt
+ name = "Belt of Holding"
+ desc = "An astonishingly complex belt popularized by a rich blue-space technology magnate."
+ id = "bluespace_belt"
+ req_tech = list("bluespace" = 4, "materials" = 6)
+ build_type = PROTOLATHE
+ materials = list("$gold" = 1500, "$diamond" = 3000, "$uranium" = 1000)
+ reliability_base = 80
+ build_path = /obj/item/weapon/storage/belt/bluespace
+ category = list("Bluespace")
+
/datum/design/bluespacebeaker
- name = "bluespace beaker"
+ name = "Bluespace Beaker"
desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units."
id = "bluespacebeaker"
req_tech = list("bluespace" = 2, "materials" = 6)
diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm
index 41ae598a7ce..4567d00bfde 100644
--- a/code/modules/research/designs/machine_designs.dm
+++ b/code/modules/research/designs/machine_designs.dm
@@ -261,6 +261,16 @@
materials = list("$glass" = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/arcade/orion_trail
category = list("Misc. Machinery")
+
+/datum/design/programmable
+ name = "Machine Board (Programmable Unloader)"
+ desc = "The circuit board for a Programmable Unloader."
+ id = "selunload"
+ req_tech = list("programming" = 5)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "sacid" = 20)
+ build_path = /obj/item/weapon/circuitboard/programmable
+ category = list("Misc. Machinery")
/datum/design/vendor
name = "Machine Board (Vendor)"
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm b/code/modules/shieldgen/circuits_and_designs.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm
rename to code/modules/shieldgen/circuits_and_designs.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm b/code/modules/shieldgen/energy_field.dm
similarity index 96%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm
rename to code/modules/shieldgen/energy_field.dm
index 4ebfda0024d..a5519fbf70a 100644
--- a/code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm
+++ b/code/modules/shieldgen/energy_field.dm
@@ -1,55 +1,55 @@
-
-//---------- actual energy field
-
-/obj/effect/energy_field
- name = "energy field"
- desc = "Impenetrable field of energy, capable of blocking anything as long as it's active."
- icon = 'code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi'
- icon_state = "shieldsparkles"
- anchored = 1
- layer = 4.1 //just above mobs
- density = 0
- invisibility = 101
- var/strength = 0
-
-/obj/effect/energy_field/ex_act(var/severity)
- Stress(0.5 + severity)
-
-/obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj)
- Stress(Proj.damage / 10)
-
-/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj)
- if(M)
- walk(M,0)
- Stress(2)
-
-/obj/effect/energy_field/proc/Stress(var/severity)
- strength -= severity
-
- //if we take too much damage, drop out - the generator will bring us back up if we have enough power
- if(strength < 1)
- invisibility = 101
- density = 0
- else if(strength >= 1)
- invisibility = 0
- density = 1
-
-/obj/effect/energy_field/proc/Strengthen(var/severity)
- strength += severity
-
- //if we take too much damage, drop out - the generator will bring us back up if we have enough power
- if(strength >= 1)
- invisibility = 0
- density = 1
- else if(strength < 1)
- invisibility = 101
- density = 0
-
-/obj/effect/energy_field/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
- //Purpose: Determines if the object (or airflow) can pass this atom.
- //Called by: Movement, airflow.
- //Inputs: The moving atom (optional), target turf, "height" and air group
- //Outputs: Boolean if can pass.
-
- //return (!density || !height || air_group)
- return !density
+
+//---------- actual energy field
+
+/obj/effect/energy_field
+ name = "energy field"
+ desc = "Impenetrable field of energy, capable of blocking anything as long as it's active."
+ icon = 'code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi'
+ icon_state = "shieldsparkles"
+ anchored = 1
+ layer = 4.1 //just above mobs
+ density = 0
+ invisibility = 101
+ var/strength = 0
+
+/obj/effect/energy_field/ex_act(var/severity)
+ Stress(0.5 + severity)
+
+/obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj)
+ Stress(Proj.damage / 10)
+
+/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj)
+ if(M)
+ walk(M,0)
+ Stress(2)
+
+/obj/effect/energy_field/proc/Stress(var/severity)
+ strength -= severity
+
+ //if we take too much damage, drop out - the generator will bring us back up if we have enough power
+ if(strength < 1)
+ invisibility = 101
+ density = 0
+ else if(strength >= 1)
+ invisibility = 0
+ density = 1
+
+/obj/effect/energy_field/proc/Strengthen(var/severity)
+ strength += severity
+
+ //if we take too much damage, drop out - the generator will bring us back up if we have enough power
+ if(strength >= 1)
+ invisibility = 0
+ density = 1
+ else if(strength < 1)
+ invisibility = 101
+ density = 0
+
+/obj/effect/energy_field/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
+ //Purpose: Determines if the object (or airflow) can pass this atom.
+ //Called by: Movement, airflow.
+ //Inputs: The moving atom (optional), target turf, "height" and air group
+ //Outputs: Boolean if can pass.
+
+ //return (!density || !height || air_group)
+ return !density
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_capacitor.dm
rename to code/modules/shieldgen/shield_capacitor.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen.dm
rename to code/modules/shieldgen/shield_gen.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen_external.dm b/code/modules/shieldgen/shield_gen_external.dm
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen_external.dm
rename to code/modules/shieldgen/shield_gen_external.dm
diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi b/code/modules/shieldgen/shielding.dmi
similarity index 100%
rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi
rename to code/modules/shieldgen/shielding.dmi
diff --git a/code/unused/AI_Visibility.dm b/code/unused/AI_Visibility.dm
deleted file mode 100644
index d218f4409b8..00000000000
--- a/code/unused/AI_Visibility.dm
+++ /dev/null
@@ -1,310 +0,0 @@
-//All credit for this goes to Uristqwerty.
-
-/turf
- var/image/obscured
- var/image/dim
-
-/turf/proc/visibilityChanged()
- cameranet.updateVisibility(src)
-
-/datum/camerachunk
- var/list/obscuredTurfs = list()
- var/list/visibleTurfs = list()
- var/list/dimTurfs = list()
- var/list/obscured = list()
- var/list/dim = list()
- var/list/cameras = list()
- var/list/turfs = list()
- var/list/seenby = list()
- var/visible = 0
- var/changed = 0
- var/updating = 0
-
-/mob/aiEye
- var/list/visibleCameraChunks = list()
- var/mob/ai = null
- density = 0
-
-/datum/camerachunk/proc/add(mob/aiEye/ai)
- ai.visibleCameraChunks += src
- if(ai.ai.client)
- ai.ai.client.images += obscured
- ai.ai.client.images += dim
- visible++
- seenby += ai
- if(changed && !updating)
- update()
-
-/datum/camerachunk/proc/remove(mob/aiEye/ai)
- ai.visibleCameraChunks -= src
- if(ai.ai.client)
- ai.ai.client.images -= obscured
- ai.ai.client.images -= dim
- seenby -= ai
- if(visible > 0)
- visible--
-
-/datum/camerachunk/proc/visibilityChanged(turf/loc)
- if(!(loc in visibleTurfs))
- return
-
- hasChanged()
-
-/datum/camerachunk/proc/hasChanged()
- if(visible)
- if(!updating)
- updating = 1
- spawn(10)//Batch large changes, such as many doors opening or closing at once
- update()
- updating = 0
- else
- changed = 1
-
-/datum/camerachunk/proc/update()
- var/list/newDimTurfs = list()
- var/list/newVisibleTurfs = list()
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 6
- for(var/turf/t in view(7, c))
- if(t in turfs)
- newDimTurfs += t
-
- for(var/turf/t in view(6, c))
- if(t in turfs)
- newVisibleTurfs += t
-
- c.luminosity = lum
-
- var/list/dimAdded = newDimTurfs - dimTurfs
- var/list/dimRemoved = dimTurfs - newDimTurfs
- var/list/visAdded = newVisibleTurfs - visibleTurfs
- var/list/visRemoved = visibleTurfs - newVisibleTurfs
-
- visibleTurfs = newVisibleTurfs
- dimTurfs = newDimTurfs
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- for(var/turf/t in dimRemoved)
- if(t.dim)
- dim -= t.dim
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.dim
-
- if(!(t in visibleTurfs))
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.obscured
-
- for(var/turf/t in dimAdded)
- if(!(t in visibleTurfs))
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15)
- t.mouse_opacity = 0
-
- dim += t.dim
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.dim
-
- if(t.obscured)
- obscured -= t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.obscured
-
- for(var/turf/t in visAdded)
- if(t.obscured)
- obscured -= t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images -= t.obscured
-
- for(var/turf/t in visRemoved)
- if(t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
- for(var/mob/aiEye/m in seenby)
- if(m.ai.client)
- m.ai.client.images += t.obscured
-
-
-
-/datum/camerachunk/New(loc, x, y, z)
- x &= ~0xf
- y &= ~0xf
-
- for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z)))
- if(c.status)
- cameras += c
-
- for(var/turf/t in range(10, locate(x + 8, y + 8, z)))
- if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16)
- turfs += t
-
- for(var/obj/machinery/camera/c in cameras)
- var/lum = c.luminosity
- c.luminosity = 6
- for(var/turf/t in view(7, c))
- if(t in turfs)
- dimTurfs += t
-
- for(var/turf/t in view(6, c))
- if(t in turfs)
- visibleTurfs += t
-
- c.luminosity = lum
-
- obscuredTurfs = turfs - dimTurfs
- dimTurfs -= visibleTurfs
-
- for(var/turf/t in obscuredTurfs)
- if(!t.obscured)
- t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15)
-
- obscured += t.obscured
-
- for(var/turf/t in dimTurfs)
- if(!(t in visibleTurfs))
- if(!t.dim)
- t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER)
-
- dim += t.dim
-
-var/datum/cameranet/cameranet = new()
-
-/datum/cameranet
- var/list/cameras = list()
- var/list/chunks = list()
- var/network = "net1"
- var/ready = 0
-
-/datum/cameranet/New()
- ..()
-
-/datum/cameranet/proc/chunkGenerated(x, y, z)
- var/key = "[x],[y],[z]"
- return key in chunks
-
-/datum/cameranet/proc/getCameraChunk(x, y, z)
- var/key = "[x],[y],[z]"
-
- if(!(key in chunks))
- chunks[key] = new /datum/camerachunk(null, x, y, z)
-
- return chunks[key]
-
-/datum/cameranet/proc/visibility(mob/aiEye/ai)
- var/x1 = max(0, ai.x - 16) & ~0xf
- var/y1 = max(0, ai.y - 16) & ~0xf
- var/x2 = min(world.maxx, ai.x + 16) & ~0xf
- var/y2 = min(world.maxy, ai.y + 16) & ~0xf
-
- var/list/visibleChunks = list()
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- visibleChunks += getCameraChunk(x, y, ai.z)
-
- var/list/remove = ai.visibleCameraChunks - visibleChunks
- var/list/add = visibleChunks - ai.visibleCameraChunks
-
- for(var/datum/camerachunk/c in remove)
- c.remove(ai)
-
- for(var/datum/camerachunk/c in add)
- c.add(ai)
-
-/datum/cameranet/proc/updateVisibility(turf/loc)
- if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z))
- return
-
- var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z)
- chunk.visibilityChanged(loc)
-
-/datum/cameranet/proc/addCamera(obj/machinery/camera/c)
- var/x1 = max(0, c.x - 16) & ~0xf
- var/y1 = max(0, c.y - 16) & ~0xf
- var/x2 = min(world.maxx, c.x + 16) & ~0xf
- var/y2 = min(world.maxy, c.y + 16) & ~0xf
-
- for(var/x = x1; x <= x2; x += 16)
- for(var/y = y1; y <= y2; y += 16)
- if(chunkGenerated(x, y, c.z))
- var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z)
- if(!(c in chunk.cameras))
- chunk.cameras += c
- chunk.hasChanged()
-
-
-/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new()
-
-/mob/living/silicon/ai/New()
- ..()
- eyeobj.ai = src
-
-/mob/living/silicon/ai/verb/freelook()
- set category = "AI Commands"
- set name = "freelook"
- current = null //cancel camera view first, it causes problems
- cameraFollow = null
- machine = null
- if(client.eye == eyeobj)
- client.eye = src
- for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks)
- c.remove(eyeobj)
- else
- client.eye = eyeobj
- eyeobj.loc = loc
- cameranet.visibility(eyeobj)
- cameraFollow = null
-/mob/aiEye/Move()
- . = ..()
- if(.)
- cameranet.visibility(src)
-
-/client/AIMove(n, direct, var/mob/living/silicon/ai/user)
- if(eye == user.eyeobj)
- user.eyeobj.loc = get_step(user.eyeobj, direct)
- cameranet.visibility(user.eyeobj)
-
- else
- return ..()
-
-/*
-/client/AIMoveZ(direct, var/mob/living/silicon/ai/user)
- if(eye == user.eyeobj)
- var/dif = 0
- if(direct == UP && user.eyeobj.z > 1)
- dif = -1
- else if(direct == DOWN && user.eyeobj.z < 4)
- dif = 1
- user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif)
- cameranet.visibility(user.eyeobj)
- else
- return ..()
-*/
-
-/turf/move_camera_by_click()
- if(istype(usr, /mob/living/silicon/ai))
- var/mob/living/silicon/ai/AI = usr
- if(AI.client.eye == AI.eyeobj)
- return
- return ..()
-
-/obj/machinery/door/update_nearby_tiles(need_rebuild)
- . = ..(need_rebuild)
- cameranet.updateVisibility(loc)
-
-/obj/machinery/camera/New()
- ..()
- cameranet.addCamera(src)
\ No newline at end of file
diff --git a/code/unused/Agouri_stuff.dm b/code/unused/Agouri_stuff.dm
deleted file mode 100644
index 391c44229bc..00000000000
--- a/code/unused/Agouri_stuff.dm
+++ /dev/null
@@ -1,1949 +0,0 @@
-/*
-/obj/vehicle/airtight
- //inner atmos
- var/use_internal_tank = 0
- var/internal_tank_valve = ONE_ATMOSPHERE
- var/obj/machinery/portable_atmospherics/canister/internal_tank
- var/datum/gas_mixture/cabin_air
- var/obj/machinery/atmospherics/portables_connector/connected_port = null
-
- var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
- var/datum/global_iterator/pr_give_air //moves air from tank to cabin
-
-
-/obj/vehicle/airtight/New()
- ..()
- src.add_airtank()
- src.add_cabin()
- src.add_airtight_iterators()
-
-
-
-
-//######################################### Helpers for airtight vehicles #########################################
-
-/obj/vehicle/airtight/proc/add_cabin()
- cabin_air = new
- cabin_air.temperature = T20C
- cabin_air.volume = 200
- cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature)
- cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature)
- return cabin_air
-
-/obj/vehicle/airtight/proc/add_airtank()
- internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
- return internal_tank
-
-/obj/vehicle/airtight/proc/add_airtight_iterators()
- pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src))
- pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src))
-
-
-//######################################### Specific datums for airtight vehicles #################################
-
-
-/datum/global_iterator/vehicle_preserve_temp //normalizing cabin air temperature to 20 degrees celsium
- delay = 20
-
- process(var/obj/vehicle/airtight/V)
- if(V.cabin_air && V.cabin_air.return_volume() > 0)
- var/delta = V.cabin_air.temperature - T20C
- V.cabin_air.temperature -= max(-10, min(10, round(delta/4,0.1)))
- return
-
-
-/datum/global_iterator/vehicle_tank_give_air
- delay = 15
-
- process(var/obj/vehicle/airtight/V)
- if(V.internal_tank)
- var/datum/gas_mixture/tank_air = V.internal_tank.return_air()
- var/datum/gas_mixture/cabin_air = V.cabin_air
-
- var/release_pressure = V.internal_tank_valve
- var/cabin_pressure = cabin_air.return_pressure()
- var/pressure_delta = min(release_pressure - cabin_pressure, (tank_air.return_pressure() - cabin_pressure)/2)
- var/transfer_moles = 0
- if(pressure_delta > 0) //cabin pressure lower than release pressure
- if(tank_air.return_temperature() > 0)
- transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
- var/datum/gas_mixture/removed = tank_air.remove(transfer_moles)
- cabin_air.merge(removed)
- else if(pressure_delta < 0) //cabin pressure higher than release pressure
- var/datum/gas_mixture/t_air = V.get_turf_air()
- pressure_delta = cabin_pressure - release_pressure
- if(t_air)
- pressure_delta = min(cabin_pressure - t_air.return_pressure(), pressure_delta)
- if(pressure_delta > 0) //if location pressure is lower than cabin pressure
- transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
- var/datum/gas_mixture/removed = cabin_air.remove(transfer_moles)
- if(t_air)
- t_air.merge(removed)
- else //just delete the cabin gas, we're in space or some shit
- del(removed)
- else
- return stop()
- return
-
-
-//######################################### Atmospherics for vehicles #############################################
-
-
-/obj/vehicle/proc/get_turf_air()
- var/turf/T = get_turf(src)
- if(T)
- . = T.return_air()
- return
-
-/obj/vehicle/airtight/remove_air(amount)
- if(use_internal_tank)
- return cabin_air.remove(amount)
- else
- var/turf/T = get_turf(src)
- if(T)
- return T.remove_air(amount)
- return
-
-/obj/vehicle/airtight/return_air()
- if(use_internal_tank)
- return cabin_air
- return get_turf_air()
-
-/obj/vehicle/airtight/proc/return_pressure()
- . = 0
- if(use_internal_tank)
- . = cabin_air.return_pressure()
- else
- var/datum/gas_mixture/t_air = get_turf_air()
- if(t_air)
- . = t_air.return_pressure()
- return
-
-
-/obj/vehicle/airtight/proc/return_temperature()
- . = 0
- if(use_internal_tank)
- . = cabin_air.return_temperature()
- else
- var/datum/gas_mixture/t_air = get_turf_air()
- if(t_air)
- . = t_air.return_temperature()
- return
-
-/obj/vehicle/airtight/proc/connect(obj/machinery/atmospherics/portables_connector/new_port)
- //Make sure not already connected to something else
- if(connected_port || !new_port || new_port.connected_device)
- return 0
-
- //Make sure are close enough for a valid connection
- if(new_port.loc != src.loc)
- return 0
-
- //Perform the connection
- connected_port = new_port
- connected_port.connected_device = src
-
- //Actually enforce the air sharing
- var/datum/pipe_network/network = connected_port.return_network(src)
- if(network && !(internal_tank.return_air() in network.gases))
- network.gases += internal_tank.return_air()
- network.update = 1
- log_message("Vehicle airtank connected to external port.")
- return 1
-
-/obj/vehicle/airtight/proc/disconnect()
- if(!connected_port)
- return 0
-
- var/datum/pipe_network/network = connected_port.return_network(src)
- if(network)
- network.gases -= internal_tank.return_air()
-
- connected_port.connected_device = null
- connected_port = null
- src.log_message("Vehicle airtank disconnected from external port.")
- return 1
-
-
-
-
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-
-
-
-/obj/vehicle
- name = "Vehicle"
- icon = 'icons/vehicles/vehicles.dmi'
- density = 1
- anchored = 1
- unacidable = 1 //To avoid the pilot-deleting shit that came with mechas
- layer = MOB_LAYER
- //var/can_move = 1
- var/mob/living/carbon/occupant = null
- //var/step_in = 10 //make a step in step_in/10 sec.
- //var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South.
- //var/step_energy_drain = 10
- var/health = 300 //health is health
- //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.
- //the values in this list show how much damage will pass through, not how much will be absorbed.
- var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1)
- var/obj/item/weapon/cell/cell //Our power source
- var/state = 0
- var/list/log = new
- var/last_message = 0
- var/add_req_access = 1
- var/maint_access = 1
- //var/dna //dna-locking the mech
- var/list/proc_res = list() //stores proc owners, like proc_res["functionname"] = owner reference
- var/datum/effect/effect/system/spark_spread/spark_system = new
- var/lights = 0
- var/lights_power = 6
-
- //inner atmos //These go in airtight.dm, not all vehicles are space-faring -Agouri
- //var/use_internal_tank = 0
- //var/internal_tank_valve = ONE_ATMOSPHERE
- //var/obj/machinery/portable_atmospherics/canister/internal_tank
- //var/datum/gas_mixture/cabin_air
- //var/obj/machinery/atmospherics/portables_connector/connected_port = null
-
- var/obj/item/device/radio/radio = null
-
- var/max_temperature = 2500
- //var/internal_damage_threshold = 50 //health percentage below which internal damage is possible
- var/internal_damage = 0 //contains bitflags
-
- var/list/operation_req_access = list()//required access level for mecha operation
- var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment
-
- //var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature //In airtight.dm you go -Agouri
- var/datum/global_iterator/pr_inertial_movement //controls intertial movement in spesss
-
- //var/datum/global_iterator/pr_give_air //moves air from tank to cabin //Y-you too -Agouri
-
- var/datum/global_iterator/pr_internal_damage //processes internal damage
-
-
- var/wreckage
-
- var/list/equipment = new
- var/obj/selected
- //var/max_equip = 3
-
- var/datum/events/events
-
-
-
-/obj/vehicle/New()
- ..()
- events = new
- icon_state += "-unmanned"
- add_radio()
- //add_cabin() //No cabin for non-airtights
-
- spark_system.set_up(2, 0, src)
- spark_system.attach(src)
- add_cell()
- add_iterators()
- removeVerb(/obj/mecha/verb/disconnect_from_port)
- removeVerb(/atom/movable/verb/pull)
- log_message("[src.name]'s functions initialised. Work protocols active - Entering IDLE mode.")
- loc.Entered(src)
- return
-
-
-//################ Helpers ###########################################################
-
-
-/obj/vehicle/proc/removeVerb(verb_path)
- verbs -= verb_path
-
-/obj/vehicle/proc/addVerb(verb_path)
- verbs += verb_path
-
-/*/obj/vehicle/proc/add_airtank() //In airtight.dm -Agouri
- internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
- return internal_tank*/
-
-/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null)
- if(C)
- C.forceMove(src)
- cell = C
- return
- cell = new(src)
- cell.charge = 15000
- cell.maxcharge = 15000
-
-/*/obj/vehicle/proc/add_cabin() //In airtight.dm -Agouri
- cabin_air = new
- cabin_air.temperature = T20C
- cabin_air.volume = 200
- cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature)
- cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature)
- return cabin_air*/
-
-/obj/vehicle/proc/add_radio()
- radio = new(src)
- radio.name = "[src] radio"
- radio.icon = icon
- radio.icon_state = icon_state
- radio.subspace_transmission = 1
-
-/obj/vehicle/proc/add_iterators()
- pr_inertial_movement = new /datum/global_iterator/vehicle_intertial_movement(null,0)
- //pr_internal_damage = new /datum/global_iterator/vehicle_internal_damage(list(src),0)
- //pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src)) //In airtight.dm's add_airtight_iterators -Agouri
- //pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src) //Same here -Agouri
-
-/obj/vehicle/proc/check_for_support()
- if(locate(/obj/structure/grille, orange(1, src)) || locate(/obj/structure/lattice, orange(1, src)) || locate(/turf/simulated, orange(1, src)) || locate(/turf/unsimulated, orange(1, src)))
- return 1
- else
- return 0
-
-//################ Logs and messages ############################################
-
-
-/obj/vehicle/proc/log_message(message as text,red=null)
- log.len++
- log[log.len] = list("time"=world.timeofday,"message"="[red?"":null][message][red?"":null]")
- return log.len
-
-
-
-//################ Global Iterator Datums ######################################
-
-
-/datum/global_iterator/vehicle_intertial_movement //inertial movement in space
- delay = 7
-
- process(var/obj/vehicle/V as obj, direction)
- if(direction)
- if(!step(V, direction)||V.check_for_support())
- src.stop()
- else
- src.stop()
- return
-
-
-/datum/global_iterator/mecha_internal_damage // processing internal damage
-
- process(var/obj/mecha/mecha)
- if(!mecha.hasInternalDamage())
- return stop()
- if(mecha.hasInternalDamage(MECHA_INT_FIRE))
- if(!mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL) && prob(5))
- mecha.clearInternalDamage(MECHA_INT_FIRE)
- if(mecha.internal_tank)
- if(mecha.internal_tank.return_pressure()>mecha.internal_tank.maximum_pressure && !(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)))
- mecha.setInternalDamage(MECHA_INT_TANK_BREACH)
- var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air()
- if(int_tank_air && int_tank_air.return_volume()>0) //heat the air_contents
- int_tank_air.temperature = min(6000+T0C, int_tank_air.temperature+rand(10,15))
- if(mecha.cabin_air && mecha.cabin_air.return_volume()>0)
- mecha.cabin_air.temperature = min(6000+T0C, mecha.cabin_air.return_temperature()+rand(10,15))
- if(mecha.cabin_air.return_temperature()>mecha.max_temperature/2)
- mecha.take_damage(4/round(mecha.max_temperature/mecha.cabin_air.return_temperature(),0.1),"fire")
- if(mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL)) //stop the mecha_preserve_temp loop datum
- mecha.pr_int_temp_processor.stop()
- if(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)) //remove some air from internal tank
- if(mecha.internal_tank)
- var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air()
- var/datum/gas_mixture/leaked_gas = int_tank_air.remove_ratio(0.10)
- if(mecha.loc && hascall(mecha.loc,"assume_air"))
- mecha.loc.assume_air(leaked_gas)
- else
- del(leaked_gas)
- if(mecha.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
- if(mecha.get_charge())
- mecha.spark_system.start()
- mecha.cell.charge -= min(20,mecha.cell.charge)
- mecha.cell.maxcharge -= min(20,mecha.cell.maxcharge)
- return
-
-
-*/
-
-
-
-
-
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////
-
-
-
-
-/*/turf/DblClick()
- if(istype(usr, /mob/living/silicon/ai))
- return move_camera_by_click()
- if(usr.stat || usr.restrained() || usr.lying)
- return ..()
-
- if(usr.hand && istype(usr.l_hand, /obj/item/weapon/flamethrower))
- var/turflist = getline(usr,src)
- var/obj/item/weapon/flamethrower/F = usr.l_hand
- F.flame_turf(turflist)
- else if(!usr.hand && istype(usr.r_hand, /obj/item/weapon/flamethrower))
- var/turflist = getline(usr,src)
- var/obj/item/weapon/flamethrower/F = usr.r_hand
- F.flame_turf(turflist)
-
- return ..()
-
-/turf/New()
- ..()
- for(var/atom/movable/AM as mob|obj in src)
- spawn( 0 )
- src.Entered(AM)
- return
- return
-
-/turf/ex_act(severity)
- return 0
-
-
-/turf/bullet_act(var/obj/item/projectile/Proj)
- if(istype(Proj ,/obj/item/projectile/beam/pulse))
- src.ex_act(2)
- ..()
- return 0
-
-/turf/bullet_act(var/obj/item/projectile/Proj)
- if(istype(Proj ,/obj/item/projectile/bullet/gyro))
- explosion(src, -1, 0, 2)
- ..()
- return 0
-
-/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area)
- if (!mover || !isturf(mover.loc))
- return 1
-
-
- //First, check objects to block exit that are not on the border
- for(var/obj/obstacle in mover.loc)
- if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle))
- if(!obstacle.CheckExit(mover, src))
- mover.Bump(obstacle, 1)
- return 0
-
- //Now, check objects to block exit that are on the border
- for(var/obj/border_obstacle in mover.loc)
- if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle))
- if(!border_obstacle.CheckExit(mover, src))
- mover.Bump(border_obstacle, 1)
- return 0
-
- //Next, check objects to block entry that are on the border
- for(var/obj/border_obstacle in src)
- if(border_obstacle.flags & ON_BORDER)
- if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle))
- mover.Bump(border_obstacle, 1)
- return 0
-
- //Then, check the turf itself
- if (!src.CanPass(mover, src))
- mover.Bump(src, 1)
- return 0
-
- //Finally, check objects/mobs to block entry that are not on the border
- for(var/atom/movable/obstacle in src)
- if(obstacle.flags & ~ON_BORDER)
- if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle))
- mover.Bump(obstacle, 1)
- return 0
- return 1 //Nothing found to block so return success!
-
-
-/turf/Entered(atom/movable/M as mob|obj)
- var/loopsanity = 100
- if(ismob(M))
- if(!M:lastarea)
- M:lastarea = get_area(M.loc)
- if(M:lastarea.has_gravity == 0)
- inertial_drift(M)
-
- /*
- if(M.flags & NOGRAV)
- inertial_drift(M)
- */
-
-
-
- else if(!istype(src, /turf/space))
- M:inertia_dir = 0
- ..()
- var/objects = 0
- for(var/atom/A as mob|obj|turf|area in src)
- if(objects > loopsanity) break
- objects++
- spawn( 0 )
- if ((A && M))
- A.HasEntered(M, 1)
- return
- objects = 0
- for(var/atom/A as mob|obj|turf|area in range(1))
- if(objects > loopsanity) break
- objects++
- spawn( 0 )
- if ((A && M))
- A.HasProximity(M, 1)
- return
- return
-
-/turf/proc/inertial_drift(atom/movable/A as mob|obj)
- if(!(A.last_move)) return
- if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1)))
- var/mob/M = A
- if(M.Process_Spacemove(1))
- M.inertia_dir = 0
- return
- spawn(5)
- if((M && !(M.anchored) && (M.loc == src)))
- if(M.inertia_dir)
- step(M, M.inertia_dir)
- return
- M.inertia_dir = M.last_move
- step(M, M.inertia_dir)
- return
-
-/turf/proc/levelupdate()
- for(var/obj/O in src)
- if(O.level == 1)
- O.hide(src.intact)
-
-// override for space turfs, since they should never hide anything
-/turf/space/levelupdate()
- for(var/obj/O in src)
- if(O.level == 1)
- O.hide(0)
-
-// Removes all signs of lattice on the pos of the turf -Donkieyo
-/turf/proc/RemoveLattice()
- var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
- if(L)
- del L
-
-/turf/proc/ReplaceWithFloor(explode=0)
- var/prior_icon = icon_old
- var/old_dir = dir
-
- var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) )
-
- W.RemoveLattice()
- W.dir = old_dir
- if(prior_icon) W.icon_state = prior_icon
- else W.icon_state = "floor"
-
- if (!explode)
- W.opacity = 1
- W.sd_SetOpacity(0)
- //This is probably gonna make lighting go a bit wonky in bombed areas, but sd_SetOpacity was the primary reason bombs have been so laggy. --NEO
- W.levelupdate()
- return W
-
-/turf/proc/ReplaceWithPlating()
- var/prior_icon = icon_old
- var/old_dir = dir
-
- var/turf/simulated/floor/plating/W = new /turf/simulated/floor/plating( locate(src.x, src.y, src.z) )
-
- W.RemoveLattice()
- W.dir = old_dir
- if(prior_icon) W.icon_state = prior_icon
- else W.icon_state = "plating"
- W.opacity = 1
- W.sd_SetOpacity(0)
- W.levelupdate()
- return W
-
-/turf/proc/ReplaceWithEngineFloor()
- var/old_dir = dir
-
- var/turf/simulated/floor/engine/E = new /turf/simulated/floor/engine( locate(src.x, src.y, src.z) )
-
- E.dir = old_dir
- E.icon_state = "engine"
-
-/turf/simulated/Entered(atom/A, atom/OL)
- if (istype(A,/mob/living/carbon))
- var/mob/living/carbon/M = A
- if(M.lying) return
- if(istype(M, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes))
- if(H.m_intent == "run")
- if(H.footstep >= 2)
- H.footstep = 0
- else
- H.footstep++
- if(H.footstep == 0)
- playsound(src, "clownstep", 50, 1) // this will get annoying very fast.
- else
- playsound(src, "clownstep", 20, 1)
-
- switch (src.wet)
- if(1)
- if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes
- if ((M.m_intent == "run") && !(istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP))
- M.stop_pulling()
- step(M, M.dir)
- M << "\blue You slipped on the wet floor!"
- playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3)
- M.Stun(8)
- M.Weaken(5)
- else
- M.inertia_dir = 0
- return
- else if(!istype(M, /mob/living/carbon/slime))
- if (M.m_intent == "run")
- M.stop_pulling()
- step(M, M.dir)
- M << "\blue You slipped on the wet floor!"
- playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3)
- M.Stun(8)
- M.Weaken(5)
- else
- M.inertia_dir = 0
- return
-
- if(2) //lube
- if(!istype(M, /mob/living/carbon/slime))
- M.stop_pulling()
- step(M, M.dir)
- spawn(1) step(M, M.dir)
- spawn(2) step(M, M.dir)
- spawn(3) step(M, M.dir)
- spawn(4) step(M, M.dir)
- M.take_organ_damage(2) // Was 5 -- TLE
- M << "\blue You slipped on the floor!"
- playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3)
- M.Weaken(10)
-
- ..()
-
-/turf/proc/ReplaceWithSpace()
- var/old_dir = dir
- var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) )
- S.dir = old_dir
- return S
-
-/turf/proc/ReplaceWithLattice()
- var/old_dir = dir
- var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) )
- S.dir = old_dir
- new /obj/structure/lattice( locate(src.x, src.y, src.z) )
- return S
-
-/turf/proc/ReplaceWithWall()
- var/old_icon = icon_state
- var/turf/simulated/wall/S = new /turf/simulated/wall( locate(src.x, src.y, src.z) )
- S.icon_old = old_icon
- S.opacity = 0
- S.sd_NewOpacity(1)
- return S
-
-/turf/proc/ReplaceWithRWall()
- var/old_icon = icon_state
- var/turf/simulated/wall/r_wall/S = new /turf/simulated/wall/r_wall( locate(src.x, src.y, src.z) )
- S.icon_old = old_icon
- S.opacity = 0
- S.sd_NewOpacity(1)
- return S
-
-/turf/simulated/wall/New()
- ..()
-
-/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0)
- if(istype(src,/turf/simulated/wall/r_wall))
- if(!devastated)
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- new /obj/structure/girder/reinforced(src)
- new /obj/item/stack/sheet/plasteel( src )
- else
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/plasteel( src )
- else if(istype(src,/turf/simulated/wall/cult))
- if(!devastated)
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- new /obj/effect/decal/remains/human(src)
- else
- new /obj/effect/decal/remains/human(src)
-
- else
- if(!devastated)
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- new /obj/structure/girder(src)
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
- else
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
-
- ReplaceWithPlating(explode)
-
-/turf/simulated/wall/examine()
- set src in oview(1)
-
- usr << "It looks like a regular wall."
- return
-
-/turf/simulated/wall/ex_act(severity)
- switch(severity)
- if(1.0)
- //SN src = null
- src.ReplaceWithSpace()
- del(src)
- return
- if(2.0)
- if (prob(50))
- dismantle_wall(0,1)
- else
- dismantle_wall(1,1)
- if(3.0)
- var/proba
- if (istype(src, /turf/simulated/wall/r_wall))
- proba = 15
- else
- proba = 40
- if (prob(proba))
- dismantle_wall(0,1)
- else
- return
-
-/turf/simulated/wall/blob_act()
- if(prob(50))
- dismantle_wall()
-
-/turf/simulated/wall/attack_paw(mob/user as mob)
- if ((user.mutations & M_HULK))
- if (prob(40))
- usr << text("\blue You smash through the wall.")
- dismantle_wall(1)
- return
- else
- usr << text("\blue You punch the wall.")
- return
-
- return src.attack_hand(user)
-
-
-/turf/simulated/wall/attack_animal(mob/living/simple_animal/M as mob)
- if(M.wall_smash)
- if (istype(src, /turf/simulated/wall/r_wall))
- M << text("\blue This wall is far too strong for you to destroy.")
- return
- else
- if (prob(40))
- M << text("\blue You smash through the wall.")
- dismantle_wall(1)
- return
- else
- M << text("\blue You smash against the wall.")
- return
-
- M << "\blue You push the wall but nothing happens!"
- return
-
-/turf/simulated/wall/attack_hand(mob/user as mob)
- if ((user.mutations & M_HULK))
- if (prob(40))
- usr << text("\blue You smash through the wall.")
- dismantle_wall(1)
- return
- else
- usr << text("\blue You punch the wall.")
- return
-
- user << "\blue You push the wall but nothing happens!"
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 25, 1)
- src.add_fingerprint(user)
- return
-
-/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob)
-
- if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
- usr << "\red You don't have the dexterity to do this!"
- return
-
- if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
- var/turf/T = get_turf(user)
- if (!( istype(T, /turf) ))
- return
-
- if (thermite)
- var/obj/effect/overlay/O = new/obj/effect/overlay( src )
- O.name = "Thermite"
- O.desc = "Looks hot."
- O.icon = 'icons/effects/fire.dmi'
- O.icon_state = "2"
- O.anchored = 1
- O.density = 1
- O.layer = 5
- var/turf/simulated/floor/F = ReplaceWithPlating()
- F.burn_tile()
- F.icon_state = "wall_thermite"
- user << "\red The thermite melts the wall."
- spawn(100) del(O)
- F.sd_LumReset()
- return
-
- if (W:remove_fuel(0,user))
- W:welding = 2
- user << "\blue Now disassembling the outer wall plating."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(100)
- if (W && istype(src, /turf/simulated/wall))
- if ((get_turf(user) == T && user.equipped() == W))
- user << "\blue You disassembled the outer wall plating."
- dismantle_wall()
- W:welding = 1
- else
- user << "\blue You need more welding fuel to complete this task."
- return
-
- else if (istype(W, /obj/item/weapon/pickaxe/plasmacutter))
- var/turf/T = user.loc
- if (!( istype(T, /turf) ))
- return
-
- if (thermite)
- var/obj/effect/overlay/O = new/obj/effect/overlay( src )
- O.name = "Thermite"
- O.desc = "Looks hot."
- O.icon = 'icons/effects/fire.dmi'
- O.icon_state = "2"
- O.anchored = 1
- O.density = 1
- O.layer = 5
- var/turf/simulated/floor/F = ReplaceWithPlating()
- F.burn_tile()
- F.icon_state = "wall_thermite"
- user << "\red The thermite melts the wall."
- spawn(100) del(O)
- F.sd_LumReset()
- return
-
- else
- user << "\blue Now disassembling the outer wall plating."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(60)
- if (W && istype(src, /turf/simulated/wall))
- if ((get_turf(user) == T && user.equipped() == W))
- user << "\blue You disassembled the outer wall plating."
- dismantle_wall()
- for(var/mob/O in viewers(user, 5))
- O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced apart."), 2)
- return
-
- else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill))
- var/turf/T = user.loc
- user << "\blue Now drilling through wall."
- sleep(60)
- if (W && istype(src, /turf/simulated/wall))
- if ((user.loc == T && user.equipped() == W))
- dismantle_wall(1)
- for(var/mob/O in viewers(user, 5))
- O.show_message(text("\blue The wall was drilled apart by []!", user), 1, text("\red You hear metal being drilled appart."), 2)
- return
-
- else if(istype(W, /obj/item/weapon/melee/energy/blade))
- var/turf/T = user.loc
- user << "\blue Now slicing through wall."
- W:spark_system.start()
- playsound(src.loc, "sparks", 50, 1)
- sleep(70)
- if (W && istype(src, /turf/simulated/wall))
- if ((user.loc == T && user.equipped() == W))
- W:spark_system.start()
- playsound(src.loc, "sparks", 50, 1)
- playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
- dismantle_wall(1)
- for(var/mob/O in viewers(user, 5))
- O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2)
- return
-
- else if(istype(W,/obj/item/apc_frame))
- var/obj/item/apc_frame/AH = W
- AH.try_build(src)
- else if(istype(W,/obj/item/weapon/contraband/poster))
- var/obj/item/weapon/contraband/poster/P = W
- if(P.resulting_poster)
- var/check = 0
- var/stuff_on_wall = 0
- for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff
- if(istype(O,/obj/effect/decal/poster))
- check = 1
- break
- stuff_on_wall++
- if(stuff_on_wall==3)
- check = 1
- break
-
- if(check)
- user << "The wall is far too cluttered to place a poster!"
- return
-
- user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster.
-
- P.resulting_poster.loc = src
- var/temp = P.resulting_poster.icon_state
- var/temp_loc = user.loc
- P.resulting_poster.icon_state = "poster_being_set"
- playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1)
- sleep(24)
-
- if(user.loc == temp_loc)//Let's check if he still is there
- user << "You place the poster!"
- P.resulting_poster.icon_state = temp
- src.contents += P.resulting_poster
- del(P)
- else
- user << "You stop placing the poster."
- P.resulting_poster.loc = P
- P.resulting_poster.icon_state = temp
- else
- return attack_hand(user)
- return
-
-
-/turf/simulated/wall/r_wall/attackby(obj/item/W as obj, mob/user as mob)
-
- if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
- usr << "\red You don't have the dexterity to do this!"
- return
-
- if(!istype(src, /turf/simulated/wall/r_wall))
- return // this may seem stupid and redundant but apparently floors can call this attackby() proc, it was spamming shit up. -- Doohl
-
-
- if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
- W:eyecheck(user)
- var/turf/T = user.loc
- if (!( istype(T, /turf) ))
- return
-
- if (thermite)
- var/obj/effect/overlay/O = new/obj/effect/overlay( src )
- O.name = "Thermite"
- O.desc = "Looks hot."
- O.icon = 'icons/effects/fire.dmi'
- O.icon_state = "2"
- O.anchored = 1
- O.density = 1
- O.layer = 5
- var/turf/simulated/floor/F = ReplaceWithPlating()
- F.burn_tile()
- F.icon_state = "wall_thermite"
- user << "\red The thermite melts the wall."
- spawn(100) del(O)
- F.sd_LumReset()
- return
-
- if (src.d_state == 2)
- W:welding = 2
- user << "\blue Slicing metal cover."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(60)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 3
- user << "\blue You removed the metal cover."
- W:welding = 1
-
- else if (src.d_state == 5)
- W:welding = 2
- user << "\blue Removing support rods."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(100)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 6
- new /obj/item/stack/rods( src )
- user << "\blue You removed the support rods."
- W:welding = 1
-
- else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter))
- var/turf/T = user.loc
- if (!( istype(T, /turf) ))
- return
-
- if (thermite)
- var/obj/effect/overlay/O = new/obj/effect/overlay( src )
- O.name = "Thermite"
- O.desc = "Looks hot."
- O.icon = 'icons/effects/fire.dmi'
- O.icon_state = "2"
- O.anchored = 1
- O.density = 1
- O.layer = 5
- var/turf/simulated/floor/F = ReplaceWithPlating()
- F.burn_tile()
- F.icon_state = "wall_thermite"
- user << "\red The thermite melts the wall."
- spawn(100) del(O)
- F.sd_LumReset()
- return
-
- if (src.d_state == 2)
- user << "\blue Slicing metal cover."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(40)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 3
- user << "\blue You removed the metal cover."
-
- else if (src.d_state == 5)
- user << "\blue Removing support rods."
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- sleep(70)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 6
- new /obj/item/stack/rods( src )
- user << "\blue You removed the support rods."
-
- else if(istype(W, /obj/item/weapon/melee/energy/blade))
- user << "\blue This wall is too thick to slice through. You will need to find a different path."
- return
-
- else if (istype(W, /obj/item/weapon/wrench))
- if (src.d_state == 4)
- var/turf/T = user.loc
- user << "\blue Detaching support rods."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
- sleep(40)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 5
- user << "\blue You detach the support rods."
-
- else if (istype(W, /obj/item/weapon/wirecutters))
- if (src.d_state == 0)
- playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
- src.d_state = 1
- new /obj/item/stack/rods( src )
-
- else if (istype(W, /obj/item/weapon/screwdriver))
- if (src.d_state == 1)
- var/turf/T = user.loc
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
- user << "\blue Removing support lines."
- sleep(40)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 2
- user << "\blue You removed the support lines."
-
- else if (istype(W, /obj/item/weapon/crowbar))
-
- if (src.d_state == 3)
- var/turf/T = user.loc
- user << "\blue Prying cover off."
- playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
- sleep(100)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 4
- user << "\blue You removed the cover."
-
- else if (src.d_state == 6)
- var/turf/T = user.loc
- user << "\blue Prying outer sheath off."
- playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
- sleep(100)
- if(src)
- if ((user.loc == T && user.equipped() == W))
- user << "\blue You removed the outer sheath."
- dismantle_wall()
- return
-
- else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
- var/turf/T = user.loc
- user << "\blue You begin to drill though, this will take some time."
- sleep(200)
- if(src)
- if ((user.loc == T && user.equipped() == W))
- user << "\blue Your drill tears though the reinforced plating."
- dismantle_wall()
- return
-
- else if ((istype(W, /obj/item/stack/sheet/metal)) && (src.d_state))
- var/turf/T = user.loc
- user << "\blue Repairing wall."
- sleep(100)
- if ((user.loc == T && user.equipped() == W))
- src.d_state = 0
- src.icon_state = initial(src.icon_state)
- user << "\blue You repaired the wall."
- if (W:amount > 1)
- W:amount--
- else
- del(W)
-
- else if(istype(W,/obj/item/weapon/contraband/poster))
- var/obj/item/weapon/contraband/poster/P = W
- if(P.resulting_poster)
- var/check = 0
- var/stuff_on_wall = 0
- for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff
- if(istype(O,/obj/effect/decal/poster))
- check = 1
- break
- stuff_on_wall++
- if(stuff_on_wall==3)
- check = 1
- break
-
- if(check)
- user << "The wall is far too cluttered to place a poster!"
- return
-
- user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster.
-
- P.resulting_poster.loc = src
- var/temp = P.resulting_poster.icon_state
- var/temp_loc = user.loc
- P.resulting_poster.icon_state = "poster_being_set"
- playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1)
- sleep(24)
-
- if(user.loc == temp_loc)//Let's check if he still is there
- user << "You place the poster!"
- P.resulting_poster.icon_state = temp
- src.contents += P.resulting_poster
- del(P)
- else
- user << "You stop placing the poster."
- P.resulting_poster.loc = P
- P.resulting_poster.icon_state = temp
- return
-
- if(istype(W,/obj/item/apc_frame))
- var/obj/item/apc_frame/AH = W
- AH.try_build(src)
- return
-
- if(src.d_state > 0)
- src.icon_state = "r_wall-[d_state]"
-
- else
- return attack_hand(user)
- return
-
-/turf/simulated/wall/meteorhit(obj/M as obj)
- if (prob(15))
- dismantle_wall()
- else if(prob(70))
- ReplaceWithPlating()
- else
- ReplaceWithLattice()
- return 0
-
-
-//This is so damaged or burnt tiles or platings don't get remembered as the default tile
-var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4",
- "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2",
- "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2",
- "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken",
- "light_on_broken","light_off","wall_thermite","grass1","grass2","grass3","grass4",
- "asteroid","asteroid_dug",
- "asteroid0","asteroid1","asteroid2","asteroid3","asteroid4",
- "asteroid5","asteroid6","asteroid7","asteroid8",
- "burning","oldburning","light-on-r","light-on-y","light-on-g","light-on-b")
-
-var/list/plating_icons = list("plating","platingdmg1","platingdmg2","platingdmg3","asteroid","asteroid_dug")
-
-/turf/simulated/floor
-
- //Note to coders, the 'intact' var can no longer be used to determine if the floor is a plating or not.
- //Use the is_plating(), is_plasteel_floor() and is_light_floor() procs instead. --Errorage
- name = "floor"
- icon = 'icons/turf/floors.dmi'
- icon_state = "floor"
- var/icon_regular_floor = "floor" //used to remember what icon the tile should have by default
- var/icon_plating = "plating"
- thermal_conductivity = 0.040
- heat_capacity = 10000
- var/broken = 0
- var/burnt = 0
- var/obj/item/stack/tile/floor_tile = new/obj/item/stack/tile/plasteel
-
- airless
- icon_state = "floor"
- name = "airless floor"
- oxygen = 0.01
- nitrogen = 0.01
- temperature = TCMB
-
- New()
- ..()
- name = "floor"
-
- light
- name = "Light floor"
- luminosity = 5
- icon_state = "light_on"
- floor_tile = new/obj/item/stack/tile/light
-
- New()
- floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well.
- var/n = name //just in case commands rename it in the ..() call
- ..()
- spawn(4)
- update_icon()
- name = n
-
- grass
- name = "Grass patch"
- icon_state = "grass1"
- floor_tile = new/obj/item/stack/tile/grass
-
- New()
- floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well.
- icon_state = "grass[pick("1","2","3","4")]"
- ..()
- spawn(4)
- update_icon()
- for(var/direction in cardinal)
- if(istype(get_step(src,direction),/turf/simulated/floor))
- var/turf/simulated/floor/FF = get_step(src,direction)
- FF.update_icon() //so siding get updated properly
-
-/turf/simulated/floor/vault
- icon_state = "rockvault"
-
- New(location,type)
- ..()
- icon_state = "[type]vault"
-
-/turf/simulated/wall/vault
- icon_state = "rockvault"
-
- New(location,type)
- ..()
- icon_state = "[type]vault"
-
-/turf/simulated/floor/engine
- name = "reinforced floor"
- icon_state = "engine"
- thermal_conductivity = 0.025
- heat_capacity = 325000
-
-/turf/simulated/floor/engine/cult
- name = "engraved floor"
- icon_state = "cult"
-
-
-/turf/simulated/floor/engine/n20
- New()
- ..()
- var/datum/gas_mixture/adding = new
- var/datum/gas/sleeping_agent/trace_gas = new
-
- trace_gas.moles = 2000
- adding.trace_gases += trace_gas
- adding.temperature = T20C
-
- assume_air(adding)
-
-/turf/simulated/floor/engine/vacuum
- name = "vacuum floor"
- icon_state = "engine"
- oxygen = 0
- nitrogen = 0.001
- temperature = TCMB
-
-/turf/simulated/floor/plating
- name = "plating"
- icon_state = "plating"
- floor_tile = null
- intact = 0
-
-/turf/simulated/floor/plating/airless
- icon_state = "plating"
- name = "airless plating"
- oxygen = 0.01
- nitrogen = 0.01
- temperature = TCMB
-
- New()
- ..()
- name = "plating"
-
-/turf/simulated/floor/grid
- icon = 'icons/turf/floors.dmi'
- icon_state = "circuit"
-
-/turf/simulated/floor/New()
- ..()
- if(icon_state in icons_to_ignore_at_floor_init) //so damaged/burned tiles or plating icons aren't saved as the default
- icon_regular_floor = "floor"
- else
- icon_regular_floor = icon_state
-
-//turf/simulated/floor/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
-// if ((istype(mover, /obj/machinery/vehicle) && !(src.burnt)))
-// if (!( locate(/obj/machinery/mass_driver, src) ))
-// return 0
-// return ..()
-
-/turf/simulated/floor/ex_act(severity)
- //set src in oview(1)
- switch(severity)
- if(1.0)
- src.ReplaceWithSpace()
- if(2.0)
- switch(pick(1,2;75,3))
- if (1)
- src.ReplaceWithLattice()
- if(prob(33)) new /obj/item/stack/sheet/metal(src)
- if(2)
- src.ReplaceWithSpace()
- if(3)
- if(prob(80))
- src.break_tile_to_plating()
- else
- src.break_tile()
- src.hotspot_expose(1000,CELL_VOLUME)
- if(prob(33)) new /obj/item/stack/sheet/metal(src)
- if(3.0)
- if (prob(50))
- src.break_tile()
- src.hotspot_expose(1000,CELL_VOLUME)
- return
-
-/turf/simulated/floor/blob_act()
- return
-
-turf/simulated/floor/proc/update_icon()
- if(is_plasteel_floor())
- if(!broken && !burnt)
- icon_state = icon_regular_floor
- if(is_plating())
- if(!broken && !burnt)
- icon_state = icon_plating //Because asteroids are 'platings' too.
- if(is_light_floor())
- var/obj/item/stack/tile/light/T = floor_tile
- if(T.on)
- switch(T.state)
- if(0)
- icon_state = "light_on"
- sd_SetLuminosity(5)
- if(1)
- var/num = pick("1","2","3","4")
- icon_state = "light_on_flicker[num]"
- sd_SetLuminosity(5)
- if(2)
- icon_state = "light_on_broken"
- sd_SetLuminosity(5)
- if(3)
- icon_state = "light_off"
- sd_SetLuminosity(0)
- else
- sd_SetLuminosity(0)
- icon_state = "light_off"
- if(is_grass_floor())
- if(!broken && !burnt)
- if(!(icon_state in list("grass1","grass2","grass3","grass4")))
- icon_state = "grass[pick("1","2","3","4")]"
- spawn(1)
- if(istype(src,/turf/simulated/floor)) //Was throwing runtime errors due to a chance of it changing to space halfway through.
- if(air)
- update_visuals(air)
-
-turf/simulated/floor/return_siding_icon_state()
- ..()
- if(is_grass_floor())
- var/dir_sum = 0
- for(var/direction in cardinal)
- var/turf/T = get_step(src,direction)
- if(!(T.is_grass_floor()))
- dir_sum += direction
- if(dir_sum)
- return "wood_siding[dir_sum]"
- else
- return 0
-
-
-/turf/simulated/floor/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/turf/simulated/floor/attack_hand(mob/user as mob)
- if (is_light_floor())
- var/obj/item/stack/tile/light/T = floor_tile
- T.on = !T.on
- update_icon()
- if ((!( user.canmove ) || user.restrained() || !( user.pulling )))
- return
- if (user.pulling.anchored)
- return
- if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1))
- return
- if (ismob(user.pulling))
- var/mob/M = user.pulling
- var/mob/t = M.pulling
- M.stop_pulling()
- step(user.pulling, get_dir(user.pulling.loc, src))
- M.start_pulling(t)
- else
- step(user.pulling, get_dir(user.pulling.loc, src))
- return
-
-/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob)
- if(!C)
- return
- if(!user)
- return
- if(istype(C, /obj/item/weapon/wrench))
- user << "\blue Removing rods..."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 80, 1)
- if(do_after(user, 30))
- new /obj/item/stack/rods(src, 2)
- ReplaceWithFloor()
- var/turf/simulated/floor/F = src
- F.make_plating()
- return
-
-/turf/simulated/floor/proc/gets_drilled()
- return
-
-/turf/simulated/floor/proc/break_tile_to_plating()
- if(!is_plating())
- make_plating()
- break_tile()
-
-/turf/simulated/floor/is_plasteel_floor()
- if(istype(floor_tile,/obj/item/stack/tile/plasteel))
- return 1
- else
- return 0
-
-/turf/simulated/floor/is_light_floor()
- if(istype(floor_tile,/obj/item/stack/tile/light))
- return 1
- else
- return 0
-
-/turf/simulated/floor/is_grass_floor()
- if(istype(floor_tile,/obj/item/stack/tile/grass))
- return 1
- else
- return 0
-
-/turf/simulated/floor/is_plating()
- if(!floor_tile)
- return 1
- return 0
-
-/turf/simulated/floor/proc/break_tile()
- if(istype(src,/turf/simulated/floor/engine)) return
- if(istype(src,/turf/simulated/floor/mech_bay_recharge_floor))
- src.ReplaceWithPlating()
- if(broken) return
- if(is_plasteel_floor())
- src.icon_state = "damaged[pick(1,2,3,4,5)]"
- broken = 1
- else if(is_plasteel_floor())
- src.icon_state = "light_broken"
- broken = 1
- else if(is_plating())
- src.icon_state = "platingdmg[pick(1,2,3)]"
- broken = 1
- else if(is_grass_floor())
- src.icon_state = "sand[pick("1","2","3")]"
- broken = 1
-
-/turf/simulated/floor/proc/burn_tile()
- if(istype(src,/turf/simulated/floor/engine)) return
- if(broken || burnt) return
- if(is_plasteel_floor())
- src.icon_state = "damaged[pick(1,2,3,4,5)]"
- burnt = 1
- else if(is_plasteel_floor())
- src.icon_state = "floorscorched[pick(1,2)]"
- burnt = 1
- else if(is_plating())
- src.icon_state = "panelscorched"
- burnt = 1
- else if(is_grass_floor())
- src.icon_state = "sand[pick("1","2","3")]"
- burnt = 1
-
-//This proc will delete the floor_tile and the update_iocn() proc will then change the icon_state of the turf
-//This proc auto corrects the grass tiles' siding.
-/turf/simulated/floor/proc/make_plating()
- if(istype(src,/turf/simulated/floor/engine)) return
-
- if(is_grass_floor())
- for(var/direction in cardinal)
- if(istype(get_step(src,direction),/turf/simulated/floor))
- var/turf/simulated/floor/FF = get_step(src,direction)
- FF.update_icon() //so siding get updated properly
-
- if(!floor_tile) return
- del(floor_tile)
- icon_plating = "plating"
- sd_SetLuminosity(0)
- floor_tile = null
- intact = 0
- broken = 0
- burnt = 0
-
- update_icon()
- levelupdate()
-
-//This proc will make the turf a plasteel floor tile. The expected argument is the tile to make the turf with
-//If none is given it will make a new object. dropping or unequipping must be handled before or after calling
-//this proc.
-/turf/simulated/floor/proc/make_plasteel_floor(var/obj/item/stack/tile/plasteel/T = null)
- broken = 0
- burnt = 0
- intact = 1
- sd_SetLuminosity(0)
- if(T)
- if(istype(T,/obj/item/stack/tile/plasteel))
- floor_tile = T
- if (icon_regular_floor)
- icon_state = icon_regular_floor
- else
- icon_state = "floor"
- icon_regular_floor = icon_state
- update_icon()
- levelupdate()
- return
- //if you gave a valid parameter, it won't get thisf ar.
- floor_tile = new/obj/item/stack/tile/plasteel
- icon_state = "floor"
- icon_regular_floor = icon_state
-
- update_icon()
- levelupdate()
-
-//This proc will make the turf a light floor tile. The expected argument is the tile to make the turf with
-//If none is given it will make a new object. dropping or unequipping must be handled before or after calling
-//this proc.
-/turf/simulated/floor/proc/make_light_floor(var/obj/item/stack/tile/light/T = null)
- broken = 0
- burnt = 0
- intact = 1
- if(T)
- if(istype(T,/obj/item/stack/tile/light))
- floor_tile = T
- update_icon()
- levelupdate()
- return
- //if you gave a valid parameter, it won't get thisf ar.
- floor_tile = new/obj/item/stack/tile/light
-
- update_icon()
- levelupdate()
-
-//This proc will make a turf into a grass patch. Fun eh? Insert the grass tile to be used as the argument
-//If no argument is given a new one will be made.
-/turf/simulated/floor/proc/make_grass_floor(var/obj/item/stack/tile/grass/T = null)
- broken = 0
- burnt = 0
- intact = 1
- if(T)
- if(istype(T,/obj/item/stack/tile/grass))
- floor_tile = T
- update_icon()
- levelupdate()
- return
- //if you gave a valid parameter, it won't get thisf ar.
- floor_tile = new/obj/item/stack/tile/grass
-
- update_icon()
- levelupdate()
-
-/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob)
-
- if(!C || !user)
- return 0
-
- if(istype(C,/obj/item/weapon/light/bulb)) //only for light tiles
- if(is_light_floor())
- var/obj/item/stack/tile/light/T = floor_tile
- if(T.state)
- user.u_equip(C)
- del(C)
- T.state = C //fixing it by bashing it with a light bulb, fun eh?
- update_icon()
- user << "\blue You replace the light bulb."
- else
- user << "\blue The lightbulb seems fine, no need to replace it."
-
- if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating())))
- if(broken || burnt)
- user << "\red You remove the broken plating."
- else
- user << "\red You remove the [floor_tile.name]."
- new floor_tile.type(src)
-
- make_plating()
- playsound(src.loc, 'sound/items/Crowbar.ogg', 80, 1)
-
- return
-
- if(istype(C, /obj/item/stack/rods))
- var/obj/item/stack/rods/R = C
- if (is_plating())
- if (R.amount >= 2)
- user << "\blue Reinforcing the floor..."
- if(do_after(user, 30) && R && R.amount >= 2 && is_plating())
- ReplaceWithEngineFloor()
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 80, 1)
- R.use(2)
- return
- else
- user << "\red You need more rods."
- else
- user << "\red You must remove the plating first."
- return
-
- if(istype(C, /obj/item/stack/tile))
- if(is_plating())
- if(!broken && !burnt)
- var/obj/item/stack/tile/T = C
- floor_tile = new T.type
- intact = 1
- if(istype(T,/obj/item/stack/tile/light))
- var/obj/item/stack/tile/light/L = T
- var/obj/item/stack/tile/light/F = floor_tile
- F.state = L.state
- F.on = L.on
- if(istype(T,/obj/item/stack/tile/grass))
- for(var/direction in cardinal)
- if(istype(get_step(src,direction),/turf/simulated/floor))
- var/turf/simulated/floor/FF = get_step(src,direction)
- FF.update_icon() //so siding gets updated properly
- T.use(1)
- update_icon()
- levelupdate()
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
- else
- user << "\blue This section is too damaged to support a tile. Use a welder to fix the damage."
-
-
- if(istype(C, /obj/item/weapon/cable_coil))
- if(is_plating())
- var/obj/item/weapon/cable_coil/coil = C
- coil.turf_place(src, user)
- else
- user << "\red You must remove the plating first."
-
- if(istype(C, /obj/item/weapon/shovel))
- if(is_grass_floor())
- new /obj/item/weapon/ore/glass(src)
- new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass
- user << "\blue You shovel the grass."
- make_plating()
- else
- user << "\red You cannot shovel this."
-
- if(istype(C, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/welder = C
- if(welder.welding && (is_plating()))
- if(broken || burnt)
- if(welder.remove_fuel(0,user))
- user << "\red You fix some dents on the broken plating."
- playsound(src.loc, 'sound/items/Welder.ogg', 80, 1)
- icon_state = "plating"
- burnt = 0
- broken = 0
- else
- user << "\blue You need more welding fuel to complete this task."
-
-/turf/unsimulated/floor/attack_paw(user as mob)
- return src.attack_hand(user)
-
-/turf/unsimulated/floor/attack_hand(var/mob/user as mob)
- if ((!( user.canmove ) || user.restrained() || !( user.pulling )))
- return
- if (user.pulling.anchored)
- return
- if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1))
- return
- if (ismob(user.pulling))
- var/mob/M = user.pulling
- var/mob/t = M.pulling
- M.stop_pulling()
- step(user.pulling, get_dir(user.pulling.loc, src))
- M.start_pulling(t)
- else
- step(user.pulling, get_dir(user.pulling.loc, src))
- return
-
-// imported from space.dm
-
-/turf/space/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/turf/space/attack_hand(mob/user as mob)
- if ((user.restrained() || !( user.pulling )))
- return
- if (user.pulling.anchored)
- return
- if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1))
- return
- if (ismob(user.pulling))
- var/mob/M = user.pulling
- var/atom/movable/t = M.pulling
- M.stop_pulling()
- step(user.pulling, get_dir(user.pulling.loc, src))
- M.start_pulling(t)
- else
- step(user.pulling, get_dir(user.pulling.loc, src))
- return
-
-/turf/space/attackby(obj/item/C as obj, mob/user as mob)
-
- if (istype(C, /obj/item/stack/rods))
- var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
- if(L)
- return
- var/obj/item/stack/rods/R = C
- user << "\blue Constructing support lattice ..."
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
- ReplaceWithLattice()
- R.use(1)
- return
-
- if (istype(C, /obj/item/stack/tile/plasteel))
- var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
- if(L)
- var/obj/item/stack/tile/plasteel/S = C
- del(L)
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
- S.build(src)
- S.use(1)
- return
- else
- user << "\red The plating is going to need some support."
- return
-
-
-// Ported from unstable r355
-
-/turf/space/Entered(atom/movable/A as mob|obj)
- ..()
- if ((!(A) || src != A.loc || istype(null, /obj/effect/beam))) return
-
- inertial_drift(A)
-
- if(ticker && ticker.mode)
-
- // Okay, so let's make it so that people can travel z levels but not nuke disks!
- // if(ticker.mode.name == "nuclear emergency") return
-
- if(ticker.mode.name == "extended"||ticker.mode.name == "sandbox")
- Sandbox_Spacemove(A)
-
- else
- if (src.x <= 2 || A.x >= (world.maxx - 1) || src.y <= 2 || A.y >= (world.maxy - 1))
- if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust))
- del(A)
- return
-
- if(istype(A, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks travel Z levels ... And moving this shit down here so it only fires when they're actually trying to change z-level.
- return
-
- if(!isemptylist(A.search_contents_for(/obj/item/weapon/disk/nuclear)))
- if(istype(A, /mob/living))
- var/mob/living/MM = A
- if(MM.client)
- MM << "\red Something you are carrying is preventing you from leaving. Don't play stupid; you know exactly what it is."
- return
-
-
-
- var/move_to_z_str = pickweight(accessable_z_levels)
-
- var/move_to_z = text2num(move_to_z_str)
-
- if(!move_to_z)
- return
-
-
-
- A.z = move_to_z
-
-
- if(src.x <= 2)
- A.x = world.maxx - 2
-
- else if (A.x >= (world.maxx - 1))
- A.x = 3
-
- else if (src.y <= 2)
- A.y = world.maxy - 2
-
- else if (A.y >= (world.maxy - 1))
- A.y = 3
-
- spawn (0)
- if ((A && A.loc))
- A.loc.Entered(A)
-
-// if(istype(A, /obj/structure/closet/coffin))
-// coffinhandler.Add(A)
-
-/turf/space/proc/Sandbox_Spacemove(atom/movable/A as mob|obj)
- var/cur_x
- var/cur_y
- var/next_x
- var/next_y
- var/target_z
- var/list/y_arr
-
- if(src.x <= 1)
- if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust))
- del(A)
- return
-
- var/list/cur_pos = src.get_global_map_pos()
- if(!cur_pos) return
- cur_x = cur_pos["x"]
- cur_y = cur_pos["y"]
- next_x = (--cur_x||global_map.len)
- y_arr = global_map[next_x]
- target_z = y_arr[cur_y]
-/*
- //debug
- world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]"
- world << "Target Z = [target_z]"
- world << "Next X = [next_x]"
- //debug
-*/
- if(target_z)
- A.z = target_z
- A.x = world.maxx - 2
- spawn (0)
- if ((A && A.loc))
- A.loc.Entered(A)
- else if (src.x >= world.maxx)
- if(istype(A, /obj/effect/meteor))
- del(A)
- return
-
- var/list/cur_pos = src.get_global_map_pos()
- if(!cur_pos) return
- cur_x = cur_pos["x"]
- cur_y = cur_pos["y"]
- next_x = (++cur_x > global_map.len ? 1 : cur_x)
- y_arr = global_map[next_x]
- target_z = y_arr[cur_y]
-/*
- //debug
- world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]"
- world << "Target Z = [target_z]"
- world << "Next X = [next_x]"
- //debug
-*/
- if(target_z)
- A.z = target_z
- A.x = 3
- spawn (0)
- if ((A && A.loc))
- A.loc.Entered(A)
- else if (src.y <= 1)
- if(istype(A, /obj/effect/meteor))
- del(A)
- return
- var/list/cur_pos = src.get_global_map_pos()
- if(!cur_pos) return
- cur_x = cur_pos["x"]
- cur_y = cur_pos["y"]
- y_arr = global_map[cur_x]
- next_y = (--cur_y||y_arr.len)
- target_z = y_arr[next_y]
-/*
- //debug
- world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]"
- world << "Next Y = [next_y]"
- world << "Target Z = [target_z]"
- //debug
-*/
- if(target_z)
- A.z = target_z
- A.y = world.maxy - 2
- spawn (0)
- if ((A && A.loc))
- A.loc.Entered(A)
-
- else if (src.y >= world.maxy)
- if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust))
- del(A)
- return
- var/list/cur_pos = src.get_global_map_pos()
- if(!cur_pos) return
- cur_x = cur_pos["x"]
- cur_y = cur_pos["y"]
- y_arr = global_map[cur_x]
- next_y = (++cur_y > y_arr.len ? 1 : cur_y)
- target_z = y_arr[next_y]
-/*
- //debug
- world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]"
- world << "Next Y = [next_y]"
- world << "Target Z = [target_z]"
- //debug
-*/
- if(target_z)
- A.z = target_z
- A.y = 3
- spawn (0)
- if ((A && A.loc))
- A.loc.Entered(A)
- return
-
-/obj/effect/vaultspawner
- var/maxX = 6
- var/maxY = 6
- var/minX = 2
- var/minY = 2
-
-/obj/effect/vaultspawner/New(turf/location as turf,lX = minX,uX = maxX,lY = minY,uY = maxY,var/type = null)
- if(!type)
- type = pick("sandstone","rock","alien")
-
- var/lowBoundX = location.x
- var/lowBoundY = location.y
-
- var/hiBoundX = location.x + rand(lX,uX)
- var/hiBoundY = location.y + rand(lY,uY)
-
- var/z = location.z
-
- for(var/i = lowBoundX,i<=hiBoundX,i++)
- for(var/j = lowBoundY,j<=hiBoundY,j++)
- if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY)
- new /turf/simulated/wall/vault(locate(i,j,z),type)
- else
- new /turf/simulated/floor/vault(locate(i,j,z),type)
-
- del(src)
-
-/turf/proc/kill_creatures(mob/U = null)//Will kill people/creatures and damage mechs./N
-//Useful to batch-add creatures to the list.
- for(var/mob/living/M in src)
- if(M==U) continue//Will not harm U. Since null != M, can be excluded to kill everyone.
- spawn(0)
- M.gib()
- for(var/obj/mecha/M in src)//Mecha are not gibbed but are damaged.
- spawn(0)
- M.take_damage(100, "brute")
- for(var/obj/effect/critter/M in src)
- spawn(0)
- M.Die()
-
-/turf/proc/Bless()
- if(flags & NOJAUNT)
- return
- flags |= NOJAUNT
- overlays += image('icons/effects/water.dmi',src,"holywater")*/
\ No newline at end of file
diff --git a/code/unused/BrokenInhands.dm b/code/unused/BrokenInhands.dm
deleted file mode 100644
index 6339d3c0113..00000000000
--- a/code/unused/BrokenInhands.dm
+++ /dev/null
@@ -1,36 +0,0 @@
-/proc/getbrokeninhands()
- var/icon/IL = new('icons/mob/items_lefthand.dmi')
- var/list/Lstates = IL.IconStates()
- var/icon/IR = new('icons/mob/items_righthand.dmi')
- var/list/Rstates = IR.IconStates()
-
-
- var/text
- for(var/A in typesof(/obj/item))
- var/obj/item/O = new A( locate(1,1,1) )
- if(!O) continue
- var/icon/J = new(O.icon)
- var/list/istates = J.IconStates()
- if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.item_state))
- if(O.icon_state)
- text += "[O.type] WANTS IN LEFT HAND CALLED\n\"[O.icon_state]\".\n"
- if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.item_state))
- if(O.icon_state)
- text += "[O.type] WANTS IN RIGHT HAND CALLED\n\"[O.icon_state]\".\n"
-
-
- if(O.icon_state)
- if(!istates.Find(O.icon_state))
- text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.icon_state]\" IN \"[O.icon]\"\n"
- if(O.item_state)
- if(!istates.Find(O.item_state))
- text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.item_state]\" IN \"[O.icon]\"\n"
- text+="\n"
- del(O)
- if(text)
- var/F = file("broken_icons.txt")
- fdel(F)
- F << text
- world << "Completely successfully and written to [F]"
-
-
diff --git a/code/unused/Ultralight.dm b/code/unused/Ultralight.dm
deleted file mode 100644
index 783726de915..00000000000
--- a/code/unused/Ultralight.dm
+++ /dev/null
@@ -1,341 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
-
-//UltraLight system, by Sukasa
-
- const/ar/UL_LUMINOSITY = 0
- const/ar/UL_SQUARELIGHT = 0
-
- const/ar/UL_RGB = 1
- const/ar/UL_ROUNDLIGHT = 2
-
- const/ar/UL_I_FALLOFF_SQUARE = 0
- const/ar/UL_I_FALLOFF_ROUND = 1
-
- const/ar/UL_I_LUMINOSITY = 0
- const/ar/UL_I_RGB = 1
-
- const/ar/UL_I_LIT = 0
- const/ar/UL_I_EXTINGUISHED = 1
- const/ar/UL_I_ONZERO = 2
-
- ul_LightingEnabled = 1
- ul_LightingResolution = 1
- ul_Steps = 7
- ul_LightingModel = UL_I_RGB
- ul_FalloffStyle = UL_I_FALLOFF_ROUND
- ul_TopLuminosity = 0
- ul_Layer = 10
- ul_SuppressLightLevelChanges = 0
-
- list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7)
-
-
-proc
- ul_Clamp(var/Value)
- return min(max(Value, 0), ul_Steps)
-
-atom
- var/LuminosityRed = 0
- var/LuminosityGreen = 0
- var/LuminosityBlue = 0
-
- var/ul_Extinguished = UL_I_ONZERO
-
- proc
- sd_SetLuminosity(var/Red, var/Green = Red, var/Blue = Red)
-
- if(LuminosityRed == Red && LuminosityGreen == Green && LuminosityBlue == Blue)
- return //No point doing all that work if it won't have any effect anyways...
-
- if (ul_Extinguished == UL_I_EXTINGUISHED)
- LuminosityRed = Red
- LuminosityGreen = Green
- LuminosityBlue = Blue
-
- return
-
- if (ul_IsLuminous())
- ul_Extinguish()
-
- LuminosityRed = Red
- LuminosityGreen = Green
- LuminosityBlue = Blue
-
- ul_Extinguished = UL_I_ONZERO
-
- if (ul_IsLuminous())
- ul_Illuminate()
-
- return
-
- ul_Illuminate()
- if (ul_Extinguished == UL_I_LIT)
- return
-
- ul_Extinguished = UL_I_LIT
-
- ul_UpdateTopLuminosity()
- luminosity = ul_Luminosity()
-
- for(var/turf/Affected in view(ul_Luminosity(), src))
- var/Falloff = src.ul_FalloffAmount(Affected)
-
- var/DeltaRed = LuminosityRed - Falloff
- var/DeltaGreen = LuminosityGreen - Falloff
- var/DeltaBlue = LuminosityBlue - Falloff
-
- if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue))
-
- Affected.LightLevelRed += max(DeltaRed, 0)
- Affected.LightLevelGreen += max(DeltaGreen, 0)
- Affected.LightLevelBlue += max(DeltaBlue, 0)
-
- Affected.MaxRed += LuminosityRed
- Affected.MaxGreen += LuminosityGreen
- Affected.MaxBlue += LuminosityBlue
-
- Affected.ul_UpdateLight()
-
- if (ul_SuppressLightLevelChanges == 0)
- Affected.ul_LightLevelChanged()
-
- for(var/atom/AffectedAtom in Affected)
- AffectedAtom.ul_LightLevelChanged()
- return
-
- ul_Extinguish()
-
- if (ul_Extinguished != UL_I_LIT)
- return
-
- ul_Extinguished = UL_I_EXTINGUISHED
-
- for(var/turf/Affected in view(ul_Luminosity(), src))
-
- var/Falloff = ul_FalloffAmount(Affected)
-
- var/DeltaRed = LuminosityRed - Falloff
- var/DeltaGreen = LuminosityGreen - Falloff
- var/DeltaBlue = LuminosityBlue - Falloff
-
- if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue))
-
- Affected.LightLevelRed -= max(DeltaRed, 0)
- Affected.LightLevelGreen -= max(DeltaGreen, 0)
- Affected.LightLevelBlue -= max(DeltaBlue, 0)
-
- Affected.MaxRed -= LuminosityRed
- Affected.MaxGreen -= LuminosityGreen
- Affected.MaxBlue -= LuminosityBlue
-
- Affected.ul_UpdateLight()
-
- if (ul_SuppressLightLevelChanges == 0)
- Affected.ul_LightLevelChanged()
-
- for(var/atom/AffectedAtom in Affected)
- AffectedAtom.ul_LightLevelChanged()
-
- luminosity = 0
-
- return
-
- ul_FalloffAmount(var/atom/ref)
- if (ul_FalloffStyle == UL_I_FALLOFF_ROUND)
- var/x = (ref.x - src.x)
- var/y = (ref.y - src.y)
- if ((x*x + y*y) > ul_FastRoot.len)
- for(var/i = ul_FastRoot.len, i <= x*x+y*y, i++)
- ul_FastRoot += round(sqrt(x*x+y*y))
- return round(ul_LightingResolution * ul_FastRoot[x*x + y*y + 1], 1)
-
- else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE)
- return get_dist(src, ref)
-
- return 0
-
- ul_SetOpacity(var/NewOpacity)
- if(opacity != NewOpacity)
-
- var/list/Blanked = ul_BlankLocal()
- var/atom/T = src
- while(T && !isturf(T))
- T = T.loc
-
- opacity = NewOpacity
-
- if(T)
- T:LightLevelRed = 0
- T:LightLevelGreen = 0
- T:LightLevelBlue = 0
-
- ul_UnblankLocal(Blanked)
-
- return
-
- ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src))
- for(var/atom/Light in ReApply)
- if(Light.ul_IsLuminous())
- Light.ul_Illuminate()
-
- return
-
- ul_BlankLocal()
- var/list/Blanked = list( )
- var/TurfAdjust = isturf(src) ? 1 : 0
-
- for(var/atom/Affected in view(ul_TopLuminosity, src))
- if(Affected.ul_IsLuminous() && Affected.ul_Extinguished == UL_I_LIT && (ul_FalloffAmount(Affected) <= Affected.luminosity + TurfAdjust))
- Affected.ul_Extinguish()
- Blanked += Affected
-
- return Blanked
-
- ul_UpdateTopLuminosity()
-
- if (ul_TopLuminosity < LuminosityRed)
- ul_TopLuminosity = LuminosityRed
-
- if (ul_TopLuminosity < LuminosityGreen)
- ul_TopLuminosity = LuminosityGreen
-
- if (ul_TopLuminosity < LuminosityBlue)
- ul_TopLuminosity = LuminosityBlue
-
- return
-
- ul_Luminosity()
- return max(LuminosityRed, LuminosityGreen, LuminosityBlue)
-
- ul_IsLuminous(var/Red = LuminosityRed, var/Green = LuminosityGreen, var/Blue = LuminosityBlue)
- return (Red > 0 || Green > 0 || Blue > 0)
-
- ul_LightLevelChanged()
- //Designed for client projects to use. Called on items when the turf they are in has its light level changed
- return
-
- New()
- ..()
- if(ul_IsLuminous())
- spawn(1)
- ul_Illuminate()
- return
-
- Del()
- if(ul_IsLuminous())
- ul_Extinguish()
-
- ..()
-
- return
-
- movable
- Move()
- ul_Extinguish()
- ..()
- ul_Illuminate()
- return
-
-turf
- var/LightLevelRed = 0
- var/LightLevelGreen = 0
- var/LightLevelBlue = 0
-
- var/list/MaxRed = list( )
- var/list/MaxGreen = list( )
- var/list/MaxBlue = list( )
-
- proc
-
- ul_GetRed()
- return ul_Clamp(min(LightLevelRed, max(MaxRed)))
- ul_GetGreen()
- return ul_Clamp(min(LightLevelGreen, max(MaxGreen)))
- ul_GetBlue()
- return ul_Clamp(min(LightLevelBlue, max(MaxBlue)))
-
- ul_UpdateLight()
-
- var/area/CurrentArea = loc
-
- if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting)
- return
-
- var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]"
-
- if(CurrentArea.tag != LightingTag)
- var/area/NewArea = locate(LightingTag)
-
- if(!NewArea)
- NewArea = new CurrentArea.type()
- NewArea.tag = LightingTag
-
- for(var/V in CurrentArea.vars - "contents")
- if(issaved(CurrentArea.vars[V]))
- NewArea.vars[V] = CurrentArea.vars[V]
-
- NewArea.tag = LightingTag
-
- NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue())
-
-
- NewArea.contents += src
-
- return
-
- ul_Recalculate()
-
- ul_SuppressLightLevelChanges++
-
- var/list/Lights = ul_BlankLocal()
-
- LightLevelRed = 0
- LightLevelGreen = 0
- LightLevelBlue = 0
-
- ul_UnblankLocal(Lights)
-
- ul_SuppressLightLevelChanges--
-
- return
-
-area
- var/ul_Overlay = null
- var/ul_Lighting = 1
-
- var/LightLevelRed = 0
- var/LightLevelGreen = 0
- var/LightLevelBlue = 0
-
- proc
- ul_Light(var/Red = LightLevelRed, var/Green = LightLevelGreen, var/Blue = LightLevelBlue)
-
- if(!src || !src.ul_Lighting)
- return
-
- overlays -= ul_Overlay
-
- LightLevelRed = Red
- LightLevelGreen = Green
- LightLevelBlue = Blue
-
- luminosity = ul_IsLuminous(LightLevelRed, LightLevelGreen, LightLevelBlue)
-
- ul_Overlay = image('icons/effects/ULIcons.dmi', , num2text(LightLevelRed) + "-" + num2text(LightLevelGreen) + "-" + num2text(LightLevelBlue), ul_Layer)
-
- overlays += ul_Overlay
-
- return
-
- ul_Prep()
-
- if(!tag)
- tag = "[type]"
- if(ul_Lighting)
- if(!findtext(tag,":UL"))
- ul_Light()
- //world.log << tag
-
- return
diff --git a/code/unused/Virus2Prob.dm b/code/unused/Virus2Prob.dm
deleted file mode 100644
index bf9868041dd..00000000000
--- a/code/unused/Virus2Prob.dm
+++ /dev/null
@@ -1,12 +0,0 @@
-var/list/prob_G_list = list()
-
-/proc/probG(var/define,var/everyother)
- if(prob_G_list["[define]"])
- prob_G_list["[define]"] += 1
- if(prob_G_list["[define]"] == everyother)
- prob_G_list["[define]"] = 0
- return 1
- else
- (prob_G_list["[define]"]) = 0
- (prob_G_list["[define]"]) = rand(1,everyother-1)
- return 0
diff --git a/code/unused/_debug.dm b/code/unused/_debug.dm
deleted file mode 100644
index 271ee870a71..00000000000
--- a/code/unused/_debug.dm
+++ /dev/null
@@ -1,619 +0,0 @@
-// NOTE WELL!
-// Only include this file when debugging locally
-// Do not include in release versions
-
-
-#define VARSICON 1
-#define SDEBUG 1
-
-/client/verb/Debug()
- set category = "Debug"
- set name = "Debug-Debug"
- if(src.holder.rank == "Game Admin")
- Debug = !Debug
-
- world << "Debugging [Debug ? "On" : "Off"]"
- else
- alert("Coders only baby")
- return
-
-/turf/verb/Flow()
- set category = "Debug"
- //set hidden = 1
- if(Debug)
- for(var/turf/T in range(5))
-
- var/obj/effect/mark/O = locate(/obj/effect/mark/, T)
-
- if(!O)
- O = new /obj/effect/mark(T)
- else
- O.overlays.Cut()
-
- var/obj/move/OM = locate(/obj/move/, T)
-
- if(OM)
-
- if(! OM.updatecell)
- O.icon_state = "x2"
- else
- O.icon_state = "blank"
-/*
-Doing this because FindTurfs() isn't even used
- for(var/atom/U in OM.FindTurfs() )
- var/dirn = get_dir(OM, U)
- if(dirn == 1)
- O.overlays += image('icons/misc/mark.dmi', OM.airdir==1?"up":"fup")
- else if(dirn == 2)
- O.overlays += image('icons/misc/mark.dmi', OM.airdir==2?"dn":"fdn")
- else if(dirn == 4)
- O.overlays += image('icons/misc/mark.dmi', OM.airdir==4?"rt":"frt")
- else if(dirn == 8)
- O.overlays += image('icons/misc/mark.dmi', OM.airdir==8?"lf":"flf")
-*/
- else
-
- if(!(T.updatecell))
- O.icon_state = "x2"
- else
- O.icon_state = "blank"
-
- if(T.airN)
- O.overlays += image('icons/misc/mark.dmi', T.airdir==1?"up":"fup")
-
- if(T.airS)
- O.overlays += image('icons/misc/mark.dmi', T.airdir==2?"dn":"fdn")
-
- if(T.airW)
- O.overlays += image('icons/misc/mark.dmi', T.airdir==8?"lf":"flf")
-
- if(T.airE)
- O.overlays += image('icons/misc/mark.dmi', T.airdir==4?"rt":"frt")
-
-
- if(T.condN)
- O.overlays += image('icons/misc/mark.dmi', T.condN == 1?"yup":"rup")
-
- if(T.condS)
- O.overlays += image('icons/misc/mark.dmi', T.condS == 1?"ydn":"rdn")
-
- if(T.condE)
- O.overlays += image('icons/misc/mark.dmi', T.condE == 1?"yrt":"rrt")
-
- if(T.condW)
- O.overlays += image('icons/misc/mark.dmi', T.condW == 1?"ylf":"rlf")
- else
- alert("Debugging off")
- return
-
-/turf/verb/Clear()
- set category = "Debug"
- //set hidden = 1
- if(Debug)
- for(var/obj/effect/mark/O in world)
- del(O)
- else
- alert("Debugging off")
- return
-
-/proc/numbericon(var/tn as text,var/s = 0)
- if(Debug)
- var/image/I = image('icons/misc/mark.dmi', "blank")
-
- if(lentext(tn)>8)
- tn = "*"
-
- var/len = lentext(tn)
-
- for(var/d = 1 to lentext(tn))
-
-
- var/char = copytext(tn, len-d+1, len-d+2)
-
- if(char == " ")
- continue
-
- var/image/ID = image('icons/misc/mark.dmi', char)
-
- ID.pixel_x = -(d-1)*4
- ID.pixel_y = s
- //if(d>1) I.Shift(WEST, (d-1)*8)
-
- I.overlays += ID
-
-
-
- return I
- else
- alert("Debugging off")
- return
-
-/*/turf/verb/Stats()
- set category = "Debug"
- for(var/turf/T in range(5))
-
- var/obj/effect/mark/O = locate(/obj/effect/mark/, T)
-
- if(!O)
- O = new /obj/effect/mark(T)
- else
- O.overlays.Cut()
-
-
- var/temp = round(T.temp-T0C, 0.1)
-
- O.overlays += numbericon("[temp]C")
-
- var/pres = round(T.tot_gas() / CELLSTANDARD * 100, 0.1)
-
- O.overlays += numbericon("[pres]", -8)
- O.mark = "[temp]/[pres]"
-*/
-/*
-/turf/verb/Pipes()
- set category = "Debug"
-
- for(var/turf/T in range(6))
-
- //world << "Turf [T] at ([T.x],[T.y])"
-
- for(var/obj/machinery/M in T)
- //world <<" Mach [M] with pdir=[M.p_dir]"
-
- if(M && M.p_dir)
-
- //world << "Accepted"
- var/obj/effect/mark/O = locate(/obj/effect/mark/, T)
-
- if(!O)
- O = new /obj/effect/mark(T)
- else
- O.overlays.Cut()
-
- if(istype(M, /obj/machinery/pipes))
- var/obj/machinery/pipes/P = M
- O.overlays += numbericon("[P.plnum] ", -20)
- M = P.pl
-
-
- var/obj/substance/gas/G = M.get_gas()
-
- if(G)
-
- var/cap = round( 100*(G.tot_gas()/ M.capmult / 6e6), 0.1)
- var/temp = round(G.temperature - T0C, 0.1)
- O.overlays += numbericon("[temp]C", 0)
- O.overlays += numbericon("[cap]", -8)
-
- break
-*/
-/turf/verb/Cables()
- set category = "Debug"
- if(Debug)
- for(var/turf/T in range(6))
-
- //world << "Turf [T] at ([T.x],[T.y])"
-
- var/obj/effect/mark/O = locate(/obj/effect/mark/, T)
-
- if(!O)
- O = new /obj/effect/mark(T)
- else
- O.overlays.Cut()
-
- var/marked = 0
- for(var/obj/M in T)
- //world <<" Mach [M] with pdir=[M.p_dir]"
-
-
- if(M && istype(M, /obj/structure/cable/))
-
-
- var/obj/structure/cable/C = M
- //world << "Accepted"
-
- O.overlays += numbericon("[C.netnum] " , marked)
-
- marked -= 8
-
- else if(M && istype(M, /obj/machinery/power/))
-
- var/obj/machinery/power/P = M
- O.overlays += numbericon("*[P.netnum] " , marked)
- marked -= 8
-
- if(!marked)
- del(O)
- else
- alert("Debugging off")
- return
-
-
-/turf/verb/Solar()
- set category = "Debug"
- if(Debug)
-
- for(var/turf/T in range(6))
-
- //world << "Turf [T] at ([T.x],[T.y])"
-
- var/obj/effect/mark/O = locate(/obj/effect/mark/, T)
-
- if(!O)
- O = new /obj/effect/mark(T)
- else
- O.overlays.Cut()
-
-
- var/obj/machinery/power/solar/S
-
- S = locate(/obj/machinery/power/solar, T)
-
- if(S)
-
- O.overlays += numbericon("[S.obscured] " , 0)
- O.overlays += numbericon("[round(S.sunfrac*100,0.1)] " , -12)
-
- else
- del(O)
- else
- alert("Debugging off")
- return
-
-
-/mob/verb/Showports()
- set category = "Debug"
- if(Debug)
- var/turf/T
- var/obj/machinery/pipes/P
- var/list/ndirs
-
- for(var/obj/machinery/pipeline/PL in plines)
-
- var/num = plines.Find(PL)
-
- P = PL.nodes[1] // 1st node in list
- ndirs = P.get_node_dirs()
-
- T = get_step(P, ndirs[1])
-
- var/obj/effect/mark/O = new(T)
-
- O.overlays += numbericon("[num] * 1 ", -4)
- O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]",-16)
-
-
- P = PL.nodes[PL.nodes.len] // last node in list
-
- ndirs = P.get_node_dirs()
- T = get_step(P, ndirs[2])
-
- O = new(T)
-
- O.overlays += numbericon("[num] * 2 ", -4)
- O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]", -16)
- else
- alert("Debugging off")
- return
-
-/atom/verb/delete()
- set category = "Debug"
- set src in view()
- if(Debug)
- del(src)
- else
- alert("Debugging off")
- return
-
-
-/area/verb/dark()
- set category = "Debug"
- if(Debug)
- if(src.icon_state == "dark")
- icon_state = null
- else
- icon_state = "dark"
- else
- alert("Debugging off")
- return
-
-/area/verb/power()
- set category = "Debug"
- if(Debug)
- power_equip = !power_equip
- power_environ = !power_environ
-
- world << "Power ([src]) = [power_equip]"
-
- power_change()
- else
- alert("Debugging off")
- return
-
-// *****RM
-
-// *****
-
-
-/mob/verb/ShowPlasma()
- set category = "Debug"
- if(Debug)
- Plasma()
- else
- alert("Debugging off")
- return
-
-/mob/verb/Blobcount()
- set category = "Debug"
- if(Debug)
- world << "Blob count: [blobs.len]"
- else
- alert("Debugging off")
- return
-
-
-/mob/verb/Blobkill()
- set category = "Debug"
- if(Debug)
- blobs = list()
- world << "Blob killed."
- else
- alert("Debugging off")
- return
-
-/mob/verb/Blobmode()
- set category = "Debug"
- if(Debug)
- world << "Event=[ticker.event]"
- world << "Time =[(ticker.event_time - world.realtime)/10]s"
- else
- alert("Debugging off")
- return
-
-/mob/verb/Blobnext()
- set category = "Debug"
- if(Debug)
- ticker.event_time = world.realtime
- else
- alert("Debugging off")
- return
-
-
-/mob/verb/callshuttle()
- set category = "Debug"
- if(Debug)
- ticker.timeleft = 300
- ticker.timing = 1
- else
- alert("Debugging off")
- return
-
-/mob/verb/apcs()
- set category = "Debug"
- if(Debug)
- for(var/obj/machinery/power/apc/APC in world)
- world << APC.report()
- else
- alert("Debugging off")
- return
-
-/mob/verb/Globals()
- set category = "Debug"
- if(Debug)
- debugobj = new()
-
- debugobj.debuglist = list( powernets, plines, vote, config, admins, ticker, SS13_airtunnel, sun )
-
-
- world << "Debug"
- else
- alert("Debugging off")
- return
- /*for(var/obj/O in plines)
-
- world << "[O.name]"
- */
-
-
-
-
-/mob/verb/Mach()
- set category = "Debug"
- if(Debug)
- var/n = 0
- for(var/obj/machinery/M in world)
- n++
- if(! (M in machines) )
- world << "[M] [M.type]: not in list"
-
- world << "in world: [n]; in list:[machines.len]"
- else
- alert("Debugging off")
- return
-
-
-/*/mob/verb/air()
- set category = "Debug"
-
- Air()
-
-/proc/Air()
-
-
- var/area/A = locate(/area/airintake)
-
- var/atot = 0
- for(var/turf/T in A)
- atot += T.tot_gas()
-
- var/ptot = 0
- for(var/obj/machinery/pipeline/PL in plines)
- if(PL.suffix == "d")
- ptot += PL.ngas.tot_gas()
-
- var/vtot = 0
- for(var/obj/machinery/atmoalter/V in machines)
- if(V.suffix == "d")
- vtot += V.gas.tot_gas()
-
- var/ctot = 0
- for(var/obj/machinery/connector/C in machines)
- if(C.suffix == "d")
- ctot += C.ngas.tot_gas()
-
-
- var/tot = atot + ptot + vtot + ctot
-
- diary << "A=[num2text(atot,10)] P=[num2text(ptot,10)] V=[num2text(vtot,10)] C=[num2text(ctot,10)] : Total=[num2text(tot,10)]"
-*/
-/mob/verb/Revive()
- set category = "Debug"
- if(Debug)
- adjustFireLoss(0 - getBruteLoss())
- setToxLoss(0)
- adjustBruteLoss(0 - getBruteLoss())
- setOxyLoss(0)
- paralysis = 0
- stunned = 0
- weakened = 0
- health = 100
- if(stat > 1) stat=0
- disabilities = initial(disabilities)
- sdisabilities = initial(sdisabilities)
- for(var/datum/organ/external/e in src)
- e.brute_dam = 0.0
- e.burn_dam = 0.0
- e.bandaged = 0.0
- e.wound_size = 0.0
- e.max_damage = initial(e.max_damage)
- e.broken = 0
- e.destroyed = 0
- e.perma_injury = 0
- e.update_icon()
- if(src.type == /mob/living/carbon/human)
- var/mob/living/carbon/human/H = src
- H.update_body()
- H.UpdateDamageIcon()
- else
- alert("Debugging off")
- return
-
-/mob/verb/Smoke()
- set category = "Debug"
- if(Debug)
- var/obj/effect/smoke/O = new /obj/effect/smoke( src.loc )
- O.dir = pick(NORTH, SOUTH, EAST, WEST)
- spawn( 0 )
- O.Life()
- else
- alert("Debugging off")
- return
-
-/mob/verb/revent(number as num)
- set category = "Debug"
- set name = "Change event %"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- if(src.holder)
- eventchance = number
- log_admin("[src.key] set the random event chance to [eventchance]%")
- message_admins("[src.key] set the random event chance to [eventchance]%")
-
-/* Does nothing but blow up the station.
-/mob/verb/funbutton()
- set category = "Admin"
- set name = "Random Expl.(REMOVE ME)"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- for(var/turf/T in world)
- if(prob(4) && T.z == 1 && istype(T,/turf/station/floor))
- spawn(50+rand(0,3000))
- var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T )
- pt.gas.temperature = 400+T0C
- pt.ignite()
- for(var/turf/P in view(3, T))
- if (P.poison)
- P.poison = 0
- P.oldpoison = 0
- P.tmppoison = 0
- P.oxygen = 755985
- P.oldoxy = 755985
- P.tmpoxy = 755985
- usr << "\blue Blowing up station ..."
- world << "[usr.key] has used boom boom boom shake the room"
-*/
-
-/mob/verb/removeplasma()
- set category = "Debug"
- set name = "Stabilize Atmos."
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- spawn(0)
- for(var/turf/T in view())
- T.poison = 0
- T.oldpoison = 0
- T.tmppoison = 0
- T.oxygen = 755985
- T.oldoxy = 755985
- T.tmpoxy = 755985
- T.co2 = 14.8176
- T.oldco2 = 14.8176
- T.tmpco2 = 14.8176
- T.n2 = 2.844e+006
- T.on2 = 2.844e+006
- T.tn2 = 2.844e+006
- T.tsl_gas = 0
- T.osl_gas = 0
- T.sl_gas = 0
- T.temp = 293.15
- T.otemp = 293.15
- T.ttemp = 293.15
-
-/mob/verb/fire(turf/T as turf in world)
- set category = "Special Verbs"
- set name = "Create Fire"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- world << "[usr.key] created fire"
- spawn(0)
- T.poison += 30000000
- T.firelevel = T.poison
-
-/mob/verb/co2(turf/T as turf in world)
- set category = "Special Verbs"
- set name = "Create CO2"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- world << "[usr.key] created CO2"
- spawn(0)
- T.co2 += 300000000
-
-/mob/verb/n2o(turf/T as turf in world)
- set category = "Special Verbs"
- set name = "Create N2O"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- world << "[usr.key] created N2O"
- spawn(0)
- T.sl_gas += 30000000
-
-/mob/verb/explosion(T as obj|mob|turf in world)
- set category = "Special Verbs"
- set name = "Create Explosion"
- if(!src.holder)
- src << "Only administrators may use this command."
- return
- world << "[usr.key] created an explosion"
- var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T )
- playsound(pt.loc, "explosion", 100, 1,3)
- playsound(pt.loc, 'sound/effects/explosionfar.ogg', 100, 1,10)
- pt.gas.temperature = 500+T0C
- pt.ignite()
-
-
diff --git a/code/unused/ai_lockdown.dm b/code/unused/ai_lockdown.dm
deleted file mode 100644
index 552ae977f35..00000000000
--- a/code/unused/ai_lockdown.dm
+++ /dev/null
@@ -1,60 +0,0 @@
-/mob/living/silicon/ai/proc/lockdown()
- set category = "AI Commands"
- set name = "Lockdown"
-
- if(usr.stat == 2)
- usr <<"You cannot initiate lockdown because you are dead!"
- return
-
- src << "Initiating lockdowns has been disabled due to system stress."
-// Commented this out to disable Lockdowns -- TLE
-/* world << "\red Lockdown initiated by [usr.name]!"
-
- for(var/obj/machinery/firealarm/FA in world) //activate firealarms
- spawn( 0 )
- if(FA.lockdownbyai == 0)
- FA.lockdownbyai = 1
- FA.alarm()
- for(var/obj/machinery/door/airlock/AL in world) //close airlocks
- spawn( 0 )
- if(AL.canAIControl() && AL.icon_state == "door0" && AL.lockdownbyai == 0)
- AL.close()
- AL.lockdownbyai = 1
-
- var/obj/machinery/computer/communications/C = locate() in world
- if(C)
- C.post_status("alert", "lockdown")
-*/
-
-/* src.verbs -= /mob/living/silicon/ai/proc/lockdown
- src.verbs += /mob/living/silicon/ai/proc/disablelockdown
- usr << "\red Disable lockdown command enabled!"
- winshow(usr,"rpane",1)
-*/
-
-/mob/living/silicon/ai/proc/disablelockdown()
- set category = "AI Commands"
- set name = "Disable Lockdown"
-
- if(usr.stat == 2)
- usr <<"You cannot disable lockdown because you are dead!"
- return
-
- world << "\red Lockdown cancelled by [usr.name]!"
-
- for(var/obj/machinery/firealarm/FA in world) //deactivate firealarms
- spawn( 0 )
- if(FA.lockdownbyai == 1)
- FA.lockdownbyai = 0
- FA.reset()
- for(var/obj/machinery/door/airlock/AL in world) //open airlocks
- spawn ( 0 )
- if(AL.canAIControl() && AL.lockdownbyai == 1)
- AL.open()
- AL.lockdownbyai = 0
-
-/* src.verbs -= /mob/living/silicon/ai/proc/disablelockdown
- src.verbs += /mob/living/silicon/ai/proc/lockdown
- usr << "\red Disable lockdown command removed until lockdown initiated again!"
- winshow(usr,"rpane",1)
-*/
\ No newline at end of file
diff --git a/code/unused/airtunnel.dm b/code/unused/airtunnel.dm
deleted file mode 100644
index 9b61340bdfc..00000000000
--- a/code/unused/airtunnel.dm
+++ /dev/null
@@ -1,463 +0,0 @@
-/obj/machinery/sec_lock//P'sure this was part of the tunnel
- name = "Security Pad"
- desc = "A lock, for doors. Used by security."
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "sec_lock"
- var/obj/item/weapon/card/id/scan = null
- var/a_type = 0.0
- var/obj/machinery/door/d1 = null
- var/obj/machinery/door/d2 = null
- anchored = 1.0
- req_access = list(access_brig)
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
-
-/obj/move/airtunnel/process()
- if (!( src.deployed ))
- return null
- else
- ..()
- return
-
-/obj/move/airtunnel/connector/create()
- src.current = src
- src.next = new /obj/move/airtunnel( null )
- src.next.master = src.master
- src.next.previous = src
- spawn( 0 )
- src.next.create(airtunnel_start - airtunnel_stop, src.y)
- return
- return
-
-/obj/move/airtunnel/connector/wall/create()
- src.current = src
- src.next = new /obj/move/airtunnel/wall( null )
- src.next.master = src.master
- src.next.previous = src
- spawn( 0 )
- src.next.create(airtunnel_start - airtunnel_stop, src.y)
- return
- return
-
-/obj/move/airtunnel/connector/wall/process()
- return
-
-/obj/move/airtunnel/wall/create(num, y_coord)
- if (((num < 7 || (num > 16 && num < 23)) && y_coord == airtunnel_bottom))
- src.next = new /obj/move/airtunnel( null )
- else
- src.next = new /obj/move/airtunnel/wall( null )
- src.next.master = src.master
- src.next.previous = src
- if (num > 1)
- spawn( 0 )
- src.next.create(num - 1, y_coord)
- return
- return
-
-/obj/move/airtunnel/wall/move_right()
- flick("wall-m", src)
- return ..()
-
-/obj/move/airtunnel/wall/move_left()
- flick("wall-m", src)
- return ..()
-
-/obj/move/airtunnel/wall/process()
- return
-
-/obj/move/airtunnel/proc/move_left()
- src.relocate(get_step(src, WEST))
- if ((src.next && src.next.deployed))
- return src.next.move_left()
- else
- return src.next
- return
-
-/obj/move/airtunnel/proc/move_right()
- src.relocate(get_step(src, EAST))
- if ((src.previous && src.previous.deployed))
- src.previous.move_right()
- return src.previous
-
-/obj/move/airtunnel/proc/create(num, y_coord)
- if (y_coord == airtunnel_bottom)
- if ((num < 7 || (num > 16 && num < 23)))
- src.next = new /obj/move/airtunnel( null )
- else
- src.next = new /obj/move/airtunnel/wall( null )
- else
- src.next = new /obj/move/airtunnel( null )
- src.next.master = src.master
- src.next.previous = src
- if (num > 1)
- spawn( 0 )
- src.next.create(num - 1, y_coord)
- return
- return
-
-/obj/machinery/at_indicator/ex_act(severity)
- switch(severity)
- if(1.0)
- del(src)
- return
- if(2.0)
- if (prob(50))
- for(var/x in src.verbs)
- src.verbs -= x
- src.icon_state = "reader_broken"
- stat |= BROKEN
- if(3.0)
- if (prob(25))
- for(var/x in src.verbs)
- src.verbs -= x
- src.icon_state = "reader_broken"
- stat |= BROKEN
- else
- return
-
-/obj/machinery/at_indicator/blob_act()
- if (prob(75))
- for(var/x in src.verbs)
- src.verbs -= x
- src.icon_state = "reader_broken"
- stat |= BROKEN
-
-/obj/machinery/at_indicator/proc/update_icon()
- if(stat & (BROKEN|NOPOWER))
- icon_state = "reader_broken"
- return
-
- var/status = 0
- if (SS13_airtunnel.operating == 1)
- status = "r"
- else
- if (SS13_airtunnel.operating == 2)
- status = "e"
- else
- if(!SS13_airtunnel.connectors)
- return
- var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors)
- if (C.current == C)
- status = 0
- else
- if (!( C.current.next ))
- status = 2
- else
- status = 1
- src.icon_state = text("reader[][]", (SS13_airtunnel.siphon_status == 2 ? "1" : "0"), status)
- return
-
-/obj/machinery/at_indicator/process()
- if(stat & (NOPOWER|BROKEN))
- src.update_icon()
- return
- use_power(5, ENVIRON)
- src.update_icon()
- return
-
-/obj/machinery/computer/airtunnel/attack_paw(user as mob)
- return src.attack_hand(user)
-
-obj/machinery/computer/airtunnel/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/airtunnel/attack_hand(var/mob/user as mob)
- if(..())
- return
-
- var/dat = "Air Tunnel Controls
"
- user.machine = src
- if (SS13_airtunnel.operating == 1)
- dat += "Status: RETRACTING
"
- else
- if (SS13_airtunnel.operating == 2)
- dat += "Status: EXPANDING
"
- else
- var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors)
- if (C.current == C)
- dat += "Status: Fully Retracted
"
- else
- if (!( C.current.next ))
- dat += "Status: Fully Extended
"
- else
- dat += "Status: Stopped Midway
"
- dat += text("Retract Stop Extend
", src, src, src)
- dat += text("
Air Level: []
", (SS13_airtunnel.air_stat ? "Acceptable" : "DANGEROUS"))
- dat += "Air System Status: "
- switch(SS13_airtunnel.siphon_status)
- if(0.0)
- dat += "Stopped "
- if(1.0)
- dat += "Siphoning (Siphons only) "
- if(2.0)
- dat += "Regulating (BOTH) "
- if(3.0)
- dat += "RELEASING MAX (Siphons only) "
- else
- dat += text("(Refresh)
", src)
- dat += text("RELEASE (Siphons only) Siphon (Siphons only) Stop Regulate
", src, src, src, src)
- dat += text("
Close", user)
- user << browse(dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
-/obj/machinery/computer/airtunnel/proc/update_icon()
- if(stat & BROKEN)
- icon_state = "broken"
- return
-
- if(stat & NOPOWER)
- icon_state = "c_unpowered"
- return
-
- var/status = 0
- if (SS13_airtunnel.operating == 1)
- status = "r"
- else
- if (SS13_airtunnel.operating == 2)
- status = "e"
- else
- var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors)
- if (C.current == C)
- status = 0
- else
- if (!( C.current.next ))
- status = 2
- else
- status = 1
- src.icon_state = text("console[][]", (SS13_airtunnel.siphon_status >= 2 ? "1" : "0"), status)
- return
-
-/obj/machinery/computer/airtunnel/process()
- src.update_icon()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(250)
- src.updateUsrDialog()
- return
-
-/obj/machinery/computer/airtunnel/Topic(href, href_list)
- if(..())
- return
-
- if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon))))
- usr.machine = src
- if (href_list["retract"])
- SS13_airtunnel.retract()
- else if (href_list["stop"])
- SS13_airtunnel.operating = 0
- else if (href_list["extend"])
- SS13_airtunnel.extend()
- else if (href_list["release"])
- SS13_airtunnel.siphon_status = 3
- SS13_airtunnel.siphons()
- else if (href_list["siphon"])
- SS13_airtunnel.siphon_status = 1
- SS13_airtunnel.siphons()
- else if (href_list["stop_siph"])
- SS13_airtunnel.siphon_status = 0
- SS13_airtunnel.siphons()
- else if (href_list["auto"])
- SS13_airtunnel.siphon_status = 2
- SS13_airtunnel.siphons()
- else if (href_list["refresh"])
- SS13_airtunnel.siphons()
-
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-
-/obj/machinery/sec_lock/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/sec_lock/attack_paw(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/sec_lock/attack_hand(var/mob/user as mob)
- if(..())
- return
- use_power(10)
-
- if (src.loc == user.loc)
- var/dat = text("Security Pad:
\nKeycard: []
\nToggle Outer Door
\nToggle Inner Door
\n
\nEmergency Close
\nEmergency Open
", (src.scan ? text("[]", src, src.scan.name) : text("-----", src)), src, src, src, src)
- user << browse(dat, "window=sec_lock")
- onclose(user, "sec_lock")
- return
-
-/obj/machinery/sec_lock/attackby(nothing, user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/sec_lock/New()
- ..()
- spawn( 2 )
- if (src.a_type == 1)
- src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y - 1, src.z))
- src.d1 = locate(/obj/machinery/door, get_step(src, SOUTHWEST))
- else
- if (src.a_type == 2)
- src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y + 1, src.z))
- src.d1 = locate(/obj/machinery/door, get_step(src, NORTHWEST))
- else
- src.d1 = locate(/obj/machinery/door, get_step(src, SOUTH))
- src.d2 = locate(/obj/machinery/door, get_step(src, SOUTHEAST))
- return
- return
-
-/obj/machinery/sec_lock/Topic(href, href_list)
- if(..())
- return
- if ((!( src.d1 ) || !( src.d2 )))
- usr << "\red Error: Cannot interface with door security!"
- return
- if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon))))
- usr.machine = src
- if (href_list["card"])
- if (src.scan)
- src.scan.loc = src.loc
- src.scan = null
- else
- var/obj/item/weapon/card/id/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/id))
- usr.drop_item()
- I.loc = src
- src.scan = I
- if (href_list["door1"])
- if (src.scan)
- if (src.check_access(src.scan))
- if (src.d1.density)
- spawn( 0 )
- src.d1.open()
- return
- else
- spawn( 0 )
- src.d1.close()
- return
- if (href_list["door2"])
- if (src.scan)
- if (src.check_access(src.scan))
- if (src.d2.density)
- spawn( 0 )
- src.d2.open()
- return
- else
- spawn( 0 )
- src.d2.close()
- return
- if (href_list["em_cl"])
- if (src.scan)
- if (src.check_access(src.scan))
- if (!( src.d1.density ))
- src.d1.close()
- return
- sleep(1)
- spawn( 0 )
- if (!( src.d2.density ))
- src.d2.close()
- return
- if (href_list["em_op"])
- if (src.scan)
- if (src.check_access(src.scan))
- spawn( 0 )
- if (src.d1.density)
- src.d1.open()
- return
- sleep(1)
- spawn( 0 )
- if (src.d2.density)
- src.d2.open()
- return
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-/datum/air_tunnel/air_tunnel1/New()
- ..()
- for(var/obj/move/airtunnel/A in locate(/area/airtunnel1))
- A.master = src
- A.create()
- src.connectors += A
- //Foreach goto(21)
- return
-
-/datum/air_tunnel/proc/siphons()
- switch(src.siphon_status)
- if(0.0)
- for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1))
- S.t_status = 3
- if(1.0)
- for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1))
- S.t_status = 2
- S.t_per = 1000000.0
- for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1))
- S.t_status = 3
- if(2.0)
- for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1))
- S.t_status = 4
- if(3.0)
- for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1))
- S.t_status = 1
- S.t_per = 1000000.0
- for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1))
- S.t_status = 3
- else
- return
-
-/datum/air_tunnel/proc/stop()
- src.operating = 0
- return
-
-/datum/air_tunnel/proc/extend()
- if (src.operating)
- return
-
- spawn(0)
- src.operating = 2
- while(src.operating == 2)
- var/ok = 1
- for(var/obj/move/airtunnel/connector/A in src.connectors)
- if (!( A.current.next ))
- src.operating = 0
- return
- if (!( A.move_left() ))
- ok = 0
- if (!( ok ))
- src.operating = 0
- else
- for(var/obj/move/airtunnel/connector/A in src.connectors)
- if (A.current)
- A.current.next.loc = get_step(A.current.loc, EAST)
- A.current = A.current.next
- A.current.deployed = 1
- else
- src.operating = 0
- sleep(20)
- return
-
-/datum/air_tunnel/proc/retract()
- if (src.operating)
- return
- spawn(0)
- src.operating = 1
- while(src.operating == 1)
- var/ok = 1
- for(var/obj/move/airtunnel/connector/A in src.connectors)
- if (A.current == A)
- src.operating = 0
- return
- if (A.current)
- A.current.loc = null
- A.current.deployed = 0
- A.current = A.current.previous
- else
- ok = 0
- if (!( ok ))
- src.operating = 0
- else
- for(var/obj/move/airtunnel/connector/A in src.connectors)
- if (!( A.current.move_right() ))
- src.operating = 0
- sleep(20)
- return
\ No newline at end of file
diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm
deleted file mode 100644
index 0b6db495148..00000000000
--- a/code/unused/assemblies.dm
+++ /dev/null
@@ -1,951 +0,0 @@
-/*/obj/item/assembly
- name = "assembly"
- icon = 'icons/obj/assemblies.dmi'
- item_state = "assembly"
- var/status = 0.0
- throwforce = 10
- w_class = 3.0
- throw_speed = 4
- throw_range = 10
-
-/obj/item/assembly/a_i_a
- name = "Health-Analyzer/Igniter/Armor Assembly"
- desc = "A health-analyzer, igniter and armor assembly."
- icon_state = "armor-igniter-analyzer"
- var/obj/item/device/healthanalyzer/part1 = null
- var/obj/item/device/igniter/part2 = null
- var/obj/item/clothing/suit/armor/vest/part3 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/m_i_ptank
- desc = "A very intricate igniter and proximity sensor electrical assembly mounted onto top of a plasma tank."
- name = "Proximity/Igniter/Plasma Tank Assembly"
- icon_state = "prox-igniter-tank0"
- var/obj/item/device/prox_sensor/part1 = null
- var/obj/item/device/igniter/part2 = null
- var/obj/item/weapon/tank/plasma/part3 = null
- status = 0.0
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/prox_ignite
- name = "Proximity/Igniter Assembly"
- desc = "A proximity-activated igniter assembly."
- icon_state = "prox-igniter0"
- var/obj/item/device/prox_sensor/part1 = null
- var/obj/item/device/igniter/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/r_i_ptank
- desc = "A very intricate igniter and signaller electrical assembly mounted onto top of a plasma tank."
- name = "Radio/Igniter/Plasma Tank Assembly"
- icon_state = "radio-igniter-tank"
- var/obj/item/device/radio/signaler/part1 = null
- var/obj/item/device/igniter/part2 = null
- var/obj/item/weapon/tank/plasma/part3 = null
- status = 0.0
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/anal_ignite
- name = "Health-Analyzer/Igniter Assembly"
- desc = "A health-analyzer igniter assembly."
- icon_state = "timer-igniter0"
- var/obj/item/device/healthanalyzer/part1 = null
- var/obj/item/device/igniter/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
- item_state = "electronic"
-
-/obj/item/assembly/time_ignite
- name = "Timer/Igniter Assembly"
- desc = "A timer-activated igniter assembly."
- icon_state = "timer-igniter0"
- var/obj/item/device/timer/part1 = null
- var/obj/item/device/igniter/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/t_i_ptank
- desc = "A very intricate igniter and timer assembly mounted onto top of a plasma tank."
- name = "Timer/Igniter/Plasma Tank Assembly"
- icon_state = "timer-igniter-tank0"
- var/obj/item/device/timer/part1 = null
- var/obj/item/device/igniter/part2 = null
- var/obj/item/weapon/tank/plasma/part3 = null
- status = 0.0
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/rad_ignite
- name = "Radio/Igniter Assembly"
- desc = "A radio-activated igniter assembly."
- icon_state = "radio-igniter"
- var/obj/item/device/radio/signaler/part1 = null
- var/obj/item/device/igniter/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/rad_infra
- name = "Signaller/Infrared Assembly"
- desc = "An infrared-activated radio signaller"
- icon_state = "infrared-radio0"
- var/obj/item/device/radio/signaler/part1 = null
- var/obj/item/device/infra/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/rad_prox
- name = "Signaller/Prox Sensor Assembly"
- desc = "A proximity-activated radio signaller."
- icon_state = "prox-radio0"
- var/obj/item/device/radio/signaler/part1 = null
- var/obj/item/device/prox_sensor/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-
-/obj/item/assembly/rad_time
- name = "Signaller/Timer Assembly"
- desc = "A radio signaller activated by a count-down timer."
- icon_state = "timer-radio0"
- var/obj/item/device/radio/signaler/part1 = null
- var/obj/item/device/timer/part2 = null
- status = null
- flags = FPRINT | TABLEPASS| CONDUCT
-*/
-
-/obj/item/assembly/time_ignite/premade/New()
- ..()
- part1 = new(src)
- part2 = new(src)
- part1.master = src
- part2.master = src
- //part2.status = 0
-
-/obj/item/assembly/time_ignite/Del()
- del(part1)
- del(part2)
- ..()
-
-/obj/item/assembly/time_ignite/attack_self(mob/user as mob)
- if (src.part1)
- src.part1.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/time_ignite/receive_signal()
- if (!status)
- return
- for(var/mob/O in hearers(1, src.loc))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- src.part2.Activate()
- return
-
-/obj/effect/decal/ash/attack_hand(mob/user as mob)
- usr << "\blue The ashes slip through your fingers."
- del(src)
- return
-
-/obj/item/assembly/time_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part1.master = null
- src.part1 = null
- src.part2.loc = T
- src.part2.master = null
- src.part2 = null
-
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The timer is now secured!", 1)
- else
- user.show_message("\blue The timer is now unsecured!", 1)
- src.part2.secured = src.status
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/time_ignite/c_state(n)
- src.icon_state = text("timer-igniter[]", n)
- return
-
-//***********
-
-/obj/item/assembly/anal_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part1.master = null
- src.part1 = null
- src.part2.loc = T
- src.part2.master = null
- src.part2 = null
-
- del(src)
- return
- if (( istype(W, /obj/item/weapon/screwdriver) ))
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The analyzer is now secured!", 1)
- else
- user.show_message("\blue The analyzer is now unsecured!", 1)
- src.part2.secured = src.status
- src.add_fingerprint(user)
- if(( istype(W, /obj/item/clothing/suit/armor/vest) ) && src.status)
- var/obj/item/assembly/a_i_a/R = new
- R.part1 = part1
- R.part1.master = R
- part1 = null
-
- R.part2 = part2
- R.part2.master = R
- part2 = null
-
- user.put_in_hand(R)
- user.before_take_item(W)
- R.part3 = W
- R.part3.master = R
- del(src)
-
-/* WTF THIS SHIT? It is working? Shouldn't. --rastaf0
- W.loc = R
- R.part1 = W
- R.part2 = W
- W.layer = initial(W.layer)
- if (user.client)
- user.client.screen -= W
- if (user.r_hand == W)
- user.u_equip(W)
- user.r_hand = R
- else
- user.u_equip(W)
- user.l_hand = R
- W.master = R
- src.master = R
- src.layer = initial(src.layer)
- user.u_equip(src)
- if (user.client)
- user.client.screen -= src
- src.loc = R
- R.part3 = src
- R.layer = 20
- R.loc = user
- src.add_fingerprint(user)
-*/
- return
-/* else if ((istype(W, /obj/item/device/timer) && !( src.status )))
-
- var/obj/item/assembly/time_ignite/R = new /obj/item/assembly/time_ignite( user )
- W.loc = R
- R.part1 = W
- W.layer = initial(W.layer)
- if (user.client)
- user.client.screen -= W
- if (user.r_hand == W)
- user.u_equip(W)
- user.r_hand = R
- else
- user.u_equip(W)
- user.l_hand = R
- W.master = R
- src.master = R
- src.layer = initial(src.layer)
- user.u_equip(src)
- if (user.client)
- user.client.screen -= src
- src.loc = R
- R.part2 = src
- R.layer = 20
- R.loc = user
- src.add_fingerprint(user)
-*/
-
-/obj/item/assembly/proc/c_state(n, O as obj)
- return
-
-/obj/item/assembly/a_i_a/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part1.master = null
- src.part1 = null
- src.part2.loc = T
- src.part2.master = null
- src.part2 = null
- src.part3.loc = T
- src.part3.master = null
- src.part3 = null
-
- del(src)
- return
- if (( istype(W, /obj/item/weapon/screwdriver) ))
- if (!src.status && (!part1||!part2||!part3))
- user << "\red You cannot finish the assembly, not all components are in place!"
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The armor is now secured!", 1)
- else
- user.show_message("\blue The armor is now unsecured!", 1)
- src.add_fingerprint(user)
-
-/obj/item/assembly/a_i_a/Del()
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- del(src.part3)
- ..()
- return
-//*****
-
-/obj/item/assembly/rad_time/Del()
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- ..()
- return
-
-/obj/item/assembly/rad_time/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
-
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
- //SN src = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The signaler is now secured!", 1)
- else
- user.show_message("\blue The signaler is now unsecured!", 1)
- src.part1.b_stat = !( src.status )
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_time/attack_self(mob/user as mob)
- src.part1.attack_self(user, src.status)
- src.part2.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_time/receive_signal(datum/signal/signal)
- if (signal.source == src.part2)
- src.part1.send_signal("ACTIVATE")
- return
-//*******************
-/obj/item/assembly/rad_prox/c_state(n)
- src.icon_state = "prox-radio[n]"
- return
-
-/obj/item/assembly/rad_prox/Del()
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- ..()
- return
-
-/obj/item/assembly/rad_prox/HasProximity(atom/movable/AM as mob|obj)
- if (istype(AM, /obj/effect/beam))
- return
- if (AM.move_speed < 12)
- src.part2.sense()
- return
-
-/obj/item/assembly/rad_prox/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
- //SN src = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The proximity sensor is now secured!", 1)
- else
- user.show_message("\blue The proximity sensor is now unsecured!", 1)
- src.part1.b_stat = !( src.status )
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_prox/attack_self(mob/user as mob)
- src.part1.attack_self(user, src.status)
- src.part2.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_prox/receive_signal(datum/signal/signal)
- if (signal.source == src.part2)
- src.part1.send_signal("ACTIVATE")
- return
-
-/obj/item/assembly/rad_prox/Move()
- ..()
- src.part2.sense()
- return
-
-/obj/item/assembly/rad_prox/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/assembly/rad_prox/dropped()
- spawn( 0 )
- src.part2.sense()
- return
- return
-//************************
-/obj/item/assembly/rad_infra/c_state(n)
- src.icon_state = text("infrared-radio[]", n)
- return
-
-/obj/item/assembly/rad_infra/Del()
- del(src.part1)
- del(src.part2)
- ..()
- return
-
-/obj/item/assembly/rad_infra/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
- //SN src = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The infrared laser is now secured!", 1)
- else
- user.show_message("\blue The infrared laser is now unsecured!", 1)
- src.part1.b_stat = !( src.status )
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_infra/attack_self(mob/user as mob)
- src.part1.attack_self(user, src.status)
- src.part2.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_infra/receive_signal(datum/signal/signal)
-
- if (signal.source == src.part2)
- src.part1.send_signal("ACTIVATE")
- return
-
-/obj/item/assembly/rad_infra/verb/rotate()
- set name = "Rotate Assembly"
- set category = "Object"
- set src in usr
-
- src.dir = turn(src.dir, 90)
- src.part2.dir = src.dir
- src.add_fingerprint(usr)
- return
-
-/obj/item/assembly/rad_infra/Move()
-
- var/t = src.dir
- ..()
- src.dir = t
- //src.part2.first = null
- del(src.part2.first)
- return
-
-/obj/item/assembly/rad_infra/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/assembly/rad_infra/attack_hand(M)
- del(src.part2.first)
- ..()
- return
-
-/obj/item/assembly/prox_ignite/HasProximity(atom/movable/AM as mob|obj)
-
- if (istype(AM, /obj/effect/beam))
- return
- if (AM.move_speed < 12 && src.part1)
- src.part1.sense()
- return
-
-/obj/item/assembly/prox_ignite/dropped()
- spawn( 0 )
- src.part1.sense()
- return
- return
-
-/obj/item/assembly/prox_ignite/Del()
- del(src.part1)
- del(src.part2)
- ..()
- return
-
-/obj/item/assembly/prox_ignite/c_state(n)
- src.icon_state = text("prox-igniter[]", n)
- return
-
-/obj/item/assembly/prox_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
- //SN src = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The proximity sensor is now secured! The igniter now works!", 1)
- else
- user.show_message("\blue The proximity sensor is now unsecured! The igniter will not work.", 1)
- src.part2.secured = src.status
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/prox_ignite/attack_self(mob/user as mob)
-
- if (src.part1)
- src.part1.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/prox_ignite/receive_signal()
- for(var/mob/O in hearers(1, src.loc))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- src.part2.Activate()
- return
-
-/obj/item/assembly/rad_ignite/Del()
- del(src.part1)
- del(src.part2)
- ..()
- return
-
-
-
-/obj/item/assembly/rad_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
- T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
- //SN src = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (src.status)
- user.show_message("\blue The radio is now secured! The igniter now works!", 1)
- else
- user.show_message("\blue The radio is now unsecured! The igniter will not work.", 1)
- src.part2.secured = src.status
- src.part1.b_stat = !( src.status )
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_ignite/attack_self(mob/user as mob)
-
- if (src.part1)
- src.part1.attack_self(user, src.status)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/rad_ignite/receive_signal()
- for(var/mob/O in hearers(1, src.loc))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- src.part2.Activate()
- return
-
-/obj/item/assembly/m_i_ptank/c_state(n)
-
- src.icon_state = text("prox-igniter-tank[]", n)
- return
-
-/obj/item/assembly/m_i_ptank/HasProximity(atom/movable/AM as mob|obj)
- if (istype(AM, /obj/effect/beam))
- return
- if (AM.move_speed < 12 && src.part1)
- src.part1.sense()
- return
-
-
-//*****RM
-/obj/item/assembly/m_i_ptank/Bump(atom/O)
- spawn(0)
- //world << "miptank bumped into [O]"
- if(src.part1.secured)
- //world << "sending signal"
- receive_signal()
- else
- //world << "not active"
- ..()
-
-/obj/item/assembly/m_i_ptank/proc/prox_check()
- if(!part1 || !part1.secured)
- return
- for(var/atom/A in view(1, src.loc))
- if(A!=src && !istype(A, /turf/space) && !isarea(A))
- //world << "[A]:[A.type] was sensed"
- src.part1.sense()
- break
-
- spawn(10)
- prox_check()
-
-
-//*****
-
-
-/obj/item/assembly/m_i_ptank/dropped()
-
- spawn( 0 )
- part1.sense()
- return
- return
-
-/obj/item/assembly/m_i_ptank/examine()
- ..()
- part3.examine()
-
-/obj/item/assembly/m_i_ptank/Del()
-
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- //src.part3 = null
- del(src.part3)
- ..()
- return
-
-/obj/item/assembly/m_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if (istype(W, /obj/item/device/analyzer))
- src.part3.attackby(W, user)
- return
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/obj/item/assembly/prox_ignite/R = new(get_turf(src.loc))
- R.part1 = src.part1
- R.part1.master = R
- R.part1.loc = R
- R.part2 = src.part2
- R.part2.master = R
- R.part2.loc = R
- if (user.get_inactive_hand()==src)
- user.put_in_inactive_hand(part3)
- else
- part3.loc = src.loc
- src.part1 = null
- src.part2 = null
- src.part3 = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/weldingtool)&&W:welding ))
- return
- if (!( src.status ))
- src.status = 1
- bombers += "[key_name(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- message_admins("[key_name_admin(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]")
- user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1)
- else
- src.status = 0
- bombers += "[key_name(user)] unwelded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- user << "\blue The hole has been closed."
- src.part2.secured = src.status
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/m_i_ptank/attack_self(mob/user as mob)
-
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1)
- src.part1.attack_self(user, 1)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/m_i_ptank/receive_signal()
- //world << "miptank [src] got signal"
- for(var/mob/O in hearers(1, null))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- //Foreach goto(19)
-
- if ((src.status && prob(90)))
- //world << "sent ignite() to [src.part3]"
- src.part3.ignite()
- else
- if(!src.status)
- src.part3.release()
- src.part1.secured = 0.0
-
- return
-
-/obj/item/assembly/m_i_ptank/emp_act(severity)
-
- if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity))
- part3.ignite()
- ..()
-
-//*****RM
-
-/obj/item/assembly/t_i_ptank/c_state(n)
-
- src.icon_state = text("timer-igniter-tank[]", n)
- return
-
-/obj/item/assembly/t_i_ptank/examine()
- ..()
- src.part3.examine()
-
-/obj/item/assembly/t_i_ptank/Del()
-
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- //src.part3 = null
- del(src.part3)
- ..()
- return
-
-/obj/item/assembly/t_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
-
- if (istype(W, /obj/item/device/analyzer))
- src.part3.attackby(W, user)
- return
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/obj/item/assembly/time_ignite/R = new(get_turf(src.loc))
- R.part1 = src.part1
- R.part1.master = R
- R.part1.loc = R
- R.part2 = src.part2
- R.part2.master = R
- R.part2.loc = R
- if (user.get_inactive_hand()==src)
- user.put_in_inactive_hand(part3)
- else
- part3.loc = src.loc
- src.part1 = null
- src.part2 = null
- src.part3 = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding))
- return
- if (!( src.status ))
- src.status = 1
- bombers += "[key_name(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- message_admins("[key_name_admin(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]")
- user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1)
- else
- if(src)
- src.status = 0
- bombers += "[key_name(user)] unwelded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- user << "\blue The hole has been closed."
- src.part2.secured = src.status
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/t_i_ptank/attack_self(mob/user as mob)
-
- src.part1.attack_self(user, 1)
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/t_i_ptank/receive_signal()
- //world << "tiptank [src] got signal"
- for(var/mob/O in hearers(1, null))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- //Foreach goto(19)
- if ((src.status && prob(90)))
- //world << "sent ignite() to [src.part3]"
- src.part3.ignite()
- else
- if(!src.status)
- src.part3.release()
- return
-
-/obj/item/assembly/t_i_ptank/emp_act(severity)
- if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity))
- part3.ignite()
- ..()
-
-/obj/item/assembly/r_i_ptank/examine()
- ..()
- src.part3.examine()
-
-/obj/item/assembly/r_i_ptank/Del()
-
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
- //src.part3 = null
- del(src.part3)
- ..()
- return
-
-/obj/item/assembly/r_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
-
- if (istype(W, /obj/item/device/analyzer))
- src.part3.attackby(W, user)
- return
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/obj/item/assembly/rad_ignite/R = new(get_turf(src.loc))
- R.part1 = src.part1
- R.part1.master = R
- R.part1.loc = R
- R.part2 = src.part2
- R.part2.master = R
- R.part2.loc = R
- if (user.get_inactive_hand()==src)
- user.put_in_inactive_hand(part3)
- else
- part3.loc = src.loc
- src.part1 = null
- src.part2 = null
- src.part3 = null
- del(src)
- return
- if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding ))
- return
- if (!( src.status ))
- src.status = 1
- bombers += "[key_name(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- message_admins("[key_name_admin(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]")
- user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1)
- else
- src.status = 0
- bombers += "[key_name(user)] unwelded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]"
- user << "\blue The hole has been closed."
- src.part2.secured = src.status
- src.part1.b_stat = !( src.status )
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/r_i_ptank/emp_act(severity)
- if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity))
- part3.ignite()
- ..()
-
-
-/obj/item/clothing/suit/armor/a_i_a_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if (istype(W, /obj/item/device/analyzer))
- src.part4.attackby(W, user)
- return
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/obj/item/assembly/a_i_a/R = new(get_turf(src.loc))
- R.part1 = src.part1
- R.part1.master = R
- R.part1.loc = R
- R.part2 = src.part2
- R.part2.master = R
- R.part2.loc = R
- R.part3 = src.part3
- R.part3.master = R
- R.part3.loc = R
- if (user.get_inactive_hand()==src)
- user.put_in_inactive_hand(part4)
- else
- part4.loc = src.loc
- src.part1 = null
- src.part2 = null
- src.part3 = null
- src.part4 = null
- del(src)
- return
- if (( istype(W, /obj/item/weapon/weldingtool) && W:welding))
- return
- if (!( src.status ))
- src.status = 1
- bombers += "[key_name(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]"
- message_admins("[key_name_admin(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]")
- user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1)
- else
- src.status = 0
- bombers += "[key_name(user)] unwelded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]"
- user << "\blue The hole has been closed."
-// src.part3.status = src.status
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/r_i_ptank/attack_self(mob/user as mob)
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1)
- src.part1.attack_self(user, 1)
- src.add_fingerprint(user)
- return
-
-/obj/item/assembly/r_i_ptank/receive_signal()
- //world << "riptank [src] got signal"
- for(var/mob/O in hearers(1, null))
- O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2)
- //Foreach goto(19)
- if ((src.status && prob(90)))
- //world << "sent ignite() to [src.part3]"
- src.part3.ignite()
- else
- if(!src.status)
- src.part3.release()
- return
-
-
-//*****RM
\ No newline at end of file
diff --git a/code/unused/asteroiddevice.dm b/code/unused/asteroiddevice.dm
deleted file mode 100644
index 0fc2c3fd27f..00000000000
--- a/code/unused/asteroiddevice.dm
+++ /dev/null
@@ -1,105 +0,0 @@
-/obj/item/device/gps
- name = "GPS"
- icon = 'icons/obj/device.dmi'
- icon_state = "pinoff"
- flags = FPRINT | TABLEPASS| CONDUCT
- slot_flags = SLOT_BELT
- w_class = 2.0
- item_state = "electronic"
- throw_speed = 4
- throw_range = 20
- m_amt = 500
- var/obj/effect/ship_landing_beacon/beacon = null
- var/active = 0
-
- attack_self()
- if(!active)
- active = 1
- work()
- usr << "\blue You activate the GPS"
- else
- active = 0
- icon_state = "pinoff"
- usr << "\blue You deactivate the GPS"
-
- proc/work()
- while(active)
- if(!beacon)
- for(var/obj/effect/ship_landing_beacon/B in world)
- if(B.name == "Beacon - SS13")
- beacon = B
- break
-
- if(!beacon)
- usr << "\red Unable to detect beacon signal."
- active = 0
- icon_state = "pinonnull"
- return
-
- if(!istype(src.loc, /turf) && !istype(src.loc, /mob))
- usr << "\red Too much interference. Please hold the device in hand or place it on belt."
- active = 0
- icon_state = "pinonnull"
- return
-
- src.icon_state = "pinonfar"
-
- var/atom/cur_loc = src.loc
-
- if(cur_loc.z == beacon.z)
- src.dir = get_dir(cur_loc,beacon)
- else
- var/list/beacon_global_loc = beacon.get_global_map_pos()
- var/list/src_global_loc = cur_loc.get_global_map_pos()
- if(beacon_global_loc && src_global_loc)
- var/hor_dir = 0
- var/ver_dir = 0
- if(beacon_global_loc["x"]>src_global_loc["x"])
- hor_dir = EAST
- else if(beacon_global_loc["x"]src_global_loc["y"])
- ver_dir = NORTH
- else if(beacon_global_loc["y"]Authorize command, sometimes the server will hiccup and not correctly authorize."
- src << "\blue[no_auth_motd]"
- src.authenticating = 0
-*/
-
-/* The old goon auth/beta code is here
-/client/proc/beta_tester_auth()
- set name = "Tester?"
- /*if(istester(src))
- src << "\blue Key accepted as beta tester"
- else
- src << "\redKey not accepted as beta tester. You may only observe the rounds. */
-
-/client/proc/goonauth()
- set name = "Goon?"
-
- if (src.authenticating)
- return
-
- if(isgoon(src))
- src.goon = goon_keylist[src.ckey]
- src.verbs -= /client/proc/goonauth
- src << "Key authorized: Hello [goon_keylist[src.ckey]]!"
- src << "\blue[auth_motd]"
- return
-
- if (config.enable_authentication) //so that this verb isn't used when its goon only
- if(src.authenticated && src.authenticated != 1)
- src.goon = src.authenticated
- src.verbs -= /client/proc/goonauth
- src << "Key authorized: Hello [src.goon]!"
- src << "\blue[auth_motd]"
- else
- src << "Please authorize first"
- return
-
- src.authenticating = 1
-
- spawn (rand(4, 18))
- var/result = world.Export("http://byond.lljk.net/status/?key=[src.ckey]")
- var/success = 0
-
- if(lowertext(result["STATUS"]) == "200 ok")
- var/content = file2text(result["CONTENT"])
-
- var/pos = findtext(content, " ")
- var/code
- var/account = ""
-
- if (!pos)
- code = lowertext(content)
- else
- code = lowertext(copytext(content, 1, pos))
- account = copytext(content, pos + 1)
-
- if (code == "ok" && account)
- src.verbs -= /client/proc/goonauth
- src.goon = account
- src << "Key authorized: Hello [html_encode(account)]!"
- src << "\blue[auth_motd]"
- success = 1
- goon_key(src.ckey, account)
-
- if (!success)
- src.verbs += /client/proc/goonauth
- //src << "Failed"
- src << "\blue[no_auth_motd]"
-
- src.authenticating = 0
-
-var/goon_keylist[0]
-var/list/beta_tester_keylist
-
-/proc/beta_tester_loadfile()
- beta_tester_keylist = new/list()
- var/text = file2text("config/testers.txt")
- if (!text)
- diary << "Failed to load config/testers.txt\n"
- else
- var/list/lines = dd_text2list(text, "\n")
- for(var/line in lines)
- if (!line)
- continue
-
- var/tester_key = copytext(line, 1, 0)
- beta_tester_keylist.Add(tester_key)
-
-
-/proc/goon_loadfile()
- var/savefile/S=new("data/goon.goon")
- S["key[0]"] >> goon_keylist
- log_admin("Loading goon_keylist")
- if (!length(goon_keylist))
- goon_keylist=list()
- log_admin("goon_keylist was empty")
-
-/proc/goon_savefile()
- var/savefile/S=new("data/goon.goon")
- S["key[0]"] << goon_keylist
-
-/proc/goon_key(key as text,account as text)
- var/ckey=ckey(key)
- if (!goon_keylist.Find(ckey))
- goon_keylist.Add(ckey)
- goon_keylist[ckey] = account
- goon_savefile()
-
-/proc/isgoon(X)
- if (istype(X,/mob)) X=X:ckey
- if (istype(X,/client)) X=X:ckey
- if ((ckey(X) in goon_keylist)) return 1
- else return 0
-
-/proc/istester(X)
- if (istype(X,/mob)) X=X:ckey
- if (istype(X,/client)) X=X:ckey
- if ((ckey(X) in beta_tester_keylist)) return 1
- else return 0
-
-/proc/remove_goon(key as text)
- var/ckey=ckey(key)
- if (key && goon_keylist.Find(ckey))
- goon_keylist.Remove(ckey)
- goon_savefile()
- return 1
- return 0
-*/
\ No newline at end of file
diff --git a/code/unused/beast/beast.dm b/code/unused/beast/beast.dm
deleted file mode 100644
index aa016271530..00000000000
--- a/code/unused/beast/beast.dm
+++ /dev/null
@@ -1 +0,0 @@
-mob/living/carbon/beast
\ No newline at end of file
diff --git a/code/unused/beast/bodypart.dm b/code/unused/beast/bodypart.dm
deleted file mode 100644
index 5f970317060..00000000000
--- a/code/unused/beast/bodypart.dm
+++ /dev/null
@@ -1,16 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
-
-datum/bodypart
- var/name = "unidentified bodypart"
- var/health = 50
-
-datum/bodypart/body
- health = 100
-
-datum/bodypart/head
- health = 30
-
-datum/bodypart/limb
-
-datum/bodypart/tail
- health = 15
diff --git a/code/unused/beast/death.dm b/code/unused/beast/death.dm
deleted file mode 100644
index 271f72beb27..00000000000
--- a/code/unused/beast/death.dm
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-var/mob/dead/phantasm/P = new (src.loc)
-for(var/obj/O in src.contents) // Where src is a mob
- if(istype(O, /obj/item)) // Only remember carried items (sanity checking, mostly)
- src.u_equip(O) // Unequip the item if we're wearing it
- if (src.client)
- src.client.screen -= O // Clear out any overlays the item added, notably in the equip windows
- O.loc = src.loc // Honestly not sure if these two steps are necessary
- O.dropped(src) // but they seem to occur everywhere else in the code, so we're not taking any chances.
- O.layer = initial(O.layer)
- O.loc = P // Add the item to the phantasm's inventory
-src.Death(0)
-*/
\ No newline at end of file
diff --git a/code/unused/blender.dm b/code/unused/blender.dm
deleted file mode 100644
index b76b74cf595..00000000000
--- a/code/unused/blender.dm
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-This is a kitchen appliance to go along with the processor and the microwave. The Blender is for food items that are mixes or purees.
-Currently, the end products of the blender are not compatable with the microwave but I hope to fix that eventually.
-
-Summary of Blender Code: It's basically a large reagent container and, like any other container, reactions can occur in it. However,
-unlike a normal container, if you stick certain kinds of "blendable" items (ie. many food products), it'll convert the food item from
-an object (which you can pick up and eat) into a reagent (which you can pour and drink). Containers with reagents in it can be poured
-directly into the blender. Other food items will be converted into reagents by the blender. When deciding whether should be made with
-the blender or the processor: Processor items are solid objects and Blender results are reagents.
-*/
-
-/obj/machinery/blender
- name = "Blender"
- desc = "A kitchen appliance used to blend stuff."
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "blender_e"
- density = 1
- anchored = 1
- use_power = 1
- idle_power_usage = 5
- active_power_usage = 50
- flags = OPENCONTAINER //So that you can pour stuff into it.
- var/processing = 0 //This turns on (1) while it is processing so you don't accidentally get multiples from the same item.
- var/container = 1 //Is there a jug attached? Could have been done with a for loop but it's less code this way.
-
- New()
- var/datum/reagents/R = new/datum/reagents(100) //Its large since you only get one.
- reagents = R
- R.my_atom = src
- src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src)
- src.container = "/obj/item/weapon/reagent_containers/glass/blender_jug" //Loads a jug into the blender.
-
- on_reagent_change() //When the reagents change, change the icon as well.
- update_icon()
-
-
- update_icon() //Changes the icon depending on how full it is and whether it has the jug attached.
- if(src.container)
- switch(src.reagents.total_volume)
- if(0)
- src.icon_state = "blender_e" //Empty
- if(1 to 75)
- src.icon_state = "blender_h" //Some but not full
- if(76 to 100)
- src.icon_state = "blender_f" //Mostly full.
- else
- src.icon_state = "blender_d" //No jug. Should be redundant but just in case.
- return
-
-/obj/machinery/blender/attackby(var/obj/item/O as obj, var/mob/user as mob) //Attack it with an object.
- if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Too full. Max 10 items or 80 units of reagent
- user << "Too many items are already in the blending chamber."
- else if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug) && src.container == 0) //Load jug.
- O.reagents.trans_to(src, O.reagents.total_volume)
- del(O)
- src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src)
- //user.drop_item()
- //O.loc = src
- src.container = 1
- src.flags = OPENCONTAINER
- src.update_icon()
- else if(src.container == 0) //No jug to load in to.
- user << "There is no container to put [O] in to!"
- else
- if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //Will only blend food items. Add others in this else clause.
- user.drop_item()
- O.loc = src
- user << "You drop the [O] into the blender."
- else if (istype(O, /obj/item/weapon/plantbag)) //Allows plant bags to empty into the blender.
- for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents)
- O.contents -= G
- G.loc = src
- if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Sanity checking so the blender doesn't overfill
- user << "You fill the blender to the brim."
- break
- if(src.contents.len < 10 && src.reagents.total_volume < 80)
- user << "You empty the plant bag into the blender."
- else
- user << "That probably won't blend."
- return 0
-
-
-/obj/machinery/blender/verb/blend() //Blend shit. Note: In the actual blending loop, make sure it can't include the jug.
- set category = "Object"
- set name = "Turn Blender On"
- set src in oview(1) // Otherwise, it'll try to blend it too.
- if (usr.stat != 0)
- return
- if (src.stat != 0) //NOPOWER etc
- return
- if(src.processing)
- usr << "\red The blender is in the process of blending."
- return
- if(!src.container)
- usr << "\red The blender doesn't have an attached container!"
- return
- playsound(src.loc, 'sound/machines/blender.ogg', 50, 1)
- src.processing = 1
- usr << "\blue You turn on the blender."
- use_power(250)
- for(var/obj/O in src.contents)
- if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)) // Mass balance law
- src.reagents.add_reagent("soymilk", O.reagents.get_reagent_amount("nutriment"))
- O.reagents.del_reagent("nutriment")
- else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)) // Mass balance law
- src.reagents.add_reagent("ketchup", O.reagents.get_reagent_amount("nutriment"))
- O.reagents.del_reagent("nutriment")
- else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/corn)) // Mass balance law
- src.reagents.add_reagent("cornoil", O.reagents.get_reagent_amount("nutriment"))
- O.reagents.del_reagent("nutriment")
- if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //This is intentionally not an "else if"
- O.reagents.trans_to(src, O.reagents.total_volume) //Think of it as the "pulp" leftover.
- del(O)
- src.processing = 0
- usr << "The contents of the blender have been blended."
- return
-
-/obj/machinery/blender/verb/detach() //Transfers the contents of the Blender to the Blender Jug and then ejects the jug.
- set category = "Object"
- set name = "Detach Blender Jug"
- set src in oview(1)
- if (usr.stat != 0)
- return
- if(src.processing)
- usr << "The blender is in the process of blending."
- else if(!src.container)
- usr << "There is nothing to detach!"
- else
- for(var/obj/O in src.contents) //Searches through the contents for the jug.
- if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug))
- O.loc = get_turf(src)
- src.reagents.trans_to(O, src.reagents.total_volume)
- O = null
- src.flags = null
- src.icon_state = "blender_d"
- usr << "You detatch the blending jug."
- src.container = 0
- return
-
-/obj/machinery/blender/verb/eject() //Ejects the non-reagent contents of the blender besides the jug.
- set category = "Object"
- set name = "Empty Blender Jug"
- set src in oview(1)
- if (usr.stat != 0)
- return
- if(src.processing)
- usr << "The blender is in the process of blending."
- else if(!src.container)
- usr << "There is nothing to eject!"
- else
- for(var/obj/O in src.contents)
- if(istype(O, /obj/item/weapon/reagent_containers/food/snacks))
- O.loc = get_turf(src)
- O = null
- return
-
diff --git a/code/unused/carpetsplosion.dm b/code/unused/carpetsplosion.dm
deleted file mode 100644
index 01e0e757573..00000000000
--- a/code/unused/carpetsplosion.dm
+++ /dev/null
@@ -1,83 +0,0 @@
-/proc/carpetsplosion(turf/location as turf,range = 10)
- var/obj/effect/spreader/spreadEpicentre = new /obj/effect/spreader(location,range)
- var/list/turf/spreadTurfs = list()
-
- sleep(5)
-
- for(var/obj/effect/spreader/spread in spreadEpicentre.spreadList)
- spreadTurfs += get_turf(spread)
-
- del(spreadEpicentre)
- return
-
-//DEBUG START
-/obj/carpetnade
- New()
- ..()
- carpetsplosion(loc)
-
-//DEBUG END
-
-/obj/effect/spreader
- var/list/obj/effect/spreader/spreadList = list()
-
-/obj/effect/spreader/Del()
- for(var/obj/effect/spreader/spread in spreadList)
- if(spread != src)
- del(spread)
- ..()
-
-/obj/effect/spreader/New(location,var/amount = 1,obj/effects/spreader/source = src) //just a copypaste job from foam
- if(amount <= 0)
- del(src)
- return
- else
- ..()
-
- for(var/direction in cardinal)
- var/turf/T = get_step(src,direction)
- if(!T)
- continue
-
- if(!T.Enter(src))
- continue
-
- var/obj/effect/spreader/S = locate() in T
- if(S)
- continue
-
- new /obj/effect/spreader(T,amount-1,source)
-
- source.spreadList += src
-
-/*
-/obj/effect/foam/proc/process()
- if(--amount < 0)
- return
-
-
- while(expand) // keep trying to expand while true
-
- for(var/direction in cardinal)
-
-
- var/turf/T = get_step(src,direction)
- if(!T)
- continue
-
- if(!T.Enter(src))
- continue
-
- var/obj/effect/foam/F = locate() in T
- if(F)
- continue
-
- F = new(T, metal)
- F.amount = amount
- if(!metal)
- F.create_reagents(10)
- if (reagents)
- for(var/datum/reagent/R in reagents.reagent_list)
- F.reagents.add_reagent(R.id,1)
- sleep(15)
-*/
\ No newline at end of file
diff --git a/code/unused/computer2/airlock_control.dm b/code/unused/computer2/airlock_control.dm
deleted file mode 100644
index e14dca1e630..00000000000
--- a/code/unused/computer2/airlock_control.dm
+++ /dev/null
@@ -1,60 +0,0 @@
-/datum/computer/file/computer_program/airlock_control
- name = "Airlock Master"
- size = 16.0
- id_tag = "TAG"
-
-
- return_text()
- if(..())
- return
-
- var/dat = "Close | "
- dat += "Quit"
-
- /*
- dat += "
Frequency: "
- dat += "-- "
- dat += "- "
- dat += "[format_frequency(src.master.frequency)] "
- dat += "+ "
- dat += "++"
- dat += "
"
- */
-
-
- dat += "
ID:[src.id_tag]
"
-
- dat += "Cycle"
-
-
- dat += ""
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["set_tag"])
- var/t = input(usr, "Please enter new tag", src.id_tag, null) as text
- t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN)
- if (!t)
- return
- if (!in_range(src.master, usr))
- return
-
- src.id_tag = t
-
-// if(href_list["adj_freq"])
-// var/new_frequency = (src.master.frequency + text2num(href_list["adj_freq"]))
-// src.master.set_frequency(new_frequency)
-
- if(href_list["send_command"])
- var/datum/signal/signal = new
- signal.data["tag"] = id_tag
- signal.data["command"] = href_list["send_command"]
- peripheral_command("send signal", signal)
-
- src.master.add_fingerprint(usr)
- src.master.updateUsrDialog()
- return
\ No newline at end of file
diff --git a/code/unused/computer2/arcade.dm b/code/unused/computer2/arcade.dm
deleted file mode 100644
index 679e2bd4a43..00000000000
--- a/code/unused/computer2/arcade.dm
+++ /dev/null
@@ -1,136 +0,0 @@
-/datum/computer/file/computer_program/arcade
- name = "Arcade 500"
- size = 8.0
- var/enemy_name = "Space Villian"
- var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc
- var/player_hp = 30 //Player health/attack points
- var/player_mp = 10
- var/enemy_hp = 45 //Enemy health/attack points
- var/enemy_mp = 20
- var/gameover = 0
- var/blocked = 0 //Player cannot attack/heal while set
-
- New(obj/holding as obj)
- if(holding)
- src.holder = holding
-
- if(istype(src.holder.loc,/obj/machinery/computer2))
- src.master = src.holder.loc
-
-// var/name_action = pick("Defeat ", "Annihilate ", "Save ", "Strike ", "Stop ", "Destroy ", "Robust ", "Romance ")
-
- var/name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ")
- var/name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon")
-
- src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
-// src.name = (name_action + name_part1 + name_part2)
-
-
-
-/datum/computer/file/computer_program/arcade/return_text()
- if(..())
- return
-
- var/dat = "Close | "
- dat += "Quit"
-
- dat += "[src.enemy_name]
"
-
- dat += "
[src.temp]
"
- dat += "
Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]"
-
- if (src.gameover)
- dat += "New Game"
- else
- dat += "Attack | "
- dat += "Heal | "
- dat += "Recharge Power"
-
- dat += ""
-
- return dat
-
-/datum/computer/file/computer_program/arcade/Topic(href, href_list)
- if(..())
- return
-
- if (!src.blocked)
- if (href_list["attack"])
- src.blocked = 1
- var/attackamt = rand(2,6)
- src.temp = "You attack for [attackamt] damage!"
- src.master.updateUsrDialog()
-
- sleep(10)
- src.enemy_hp -= attackamt
- src.arcade_action()
-
- else if (href_list["heal"])
- src.blocked = 1
- var/pointamt = rand(1,3)
- var/healamt = rand(6,8)
- src.temp = "You use [pointamt] magic to heal for [healamt] damage!"
- src.master.updateUsrDialog()
-
- sleep(10)
- src.player_mp -= pointamt
- src.player_hp += healamt
- src.blocked = 1
- src.master.updateUsrDialog()
- src.arcade_action()
-
- else if (href_list["charge"])
- src.blocked = 1
- var/chargeamt = rand(4,7)
- src.temp = "You regain [chargeamt] points"
- src.player_mp += chargeamt
-
- src.master.updateUsrDialog()
- sleep(10)
- src.arcade_action()
-
- if (href_list["newgame"]) //Reset everything
- temp = "New Round"
- player_hp = 30
- player_mp = 10
- enemy_hp = 45
- enemy_mp = 20
- gameover = 0
-
- src.master.add_fingerprint(usr)
- src.master.updateUsrDialog()
- return
-
-/datum/computer/file/computer_program/arcade/proc/arcade_action()
- if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0))
- src.gameover = 1
- src.temp = "[src.enemy_name] has fallen! Rejoice!"
- src.peripheral_command("vend prize")
-
- else if ((src.enemy_mp <= 5) && (prob(70)))
- var/stealamt = rand(2,3)
- src.temp = "[src.enemy_name] steals [stealamt] of your power!"
- src.player_mp -= stealamt
- src.master.updateUsrDialog()
-
- if (src.player_mp <= 0)
- src.gameover = 1
- sleep(10)
- src.temp = "You have been drained! GAME OVER"
-
- else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4))
- src.temp = "[src.enemy_name] heals for 4 health!"
- src.enemy_hp += 4
- src.enemy_mp -= 4
-
- else
- var/attackamt = rand(3,6)
- src.temp = "[src.enemy_name] attacks for [attackamt] damage!"
- src.player_hp -= attackamt
-
- if ((src.player_mp <= 0) || (src.player_hp <= 0))
- src.gameover = 1
- src.temp = "You have been crushed! GAME OVER"
-
- src.blocked = 0
- return
\ No newline at end of file
diff --git a/code/unused/computer2/base_program.dm b/code/unused/computer2/base_program.dm
deleted file mode 100644
index b85923be77f..00000000000
--- a/code/unused/computer2/base_program.dm
+++ /dev/null
@@ -1,263 +0,0 @@
-/datum/computer
- var/size = 4.0
- var/obj/item/weapon/disk/data/holder = null
- var/datum/computer/folder/holding_folder = null
- folder
- name = "Folder"
- size = 0.0
- var/gen = 0
- Del()
- for(var/datum/computer/F in src.contents)
- del(F)
- ..()
- proc
- add_file(datum/computer/R)
- if(!holder || holder.read_only || !R)
- return 0
- if(istype(R,/datum/computer/folder) && (src.gen>=10))
- return 0
- if((holder.file_used + R.size) <= holder.file_amount)
- src.contents.Add(R)
- R.holder = holder
- R.holding_folder = src
- src.holder.file_used -= src.size
- src.size += R.size
- src.holder.file_used += src.size
- if(istype(R,/datum/computer/folder))
- R:gen = (src.gen+1)
- return 1
- return 0
-
- remove_file(datum/computer/R)
- if(holder && !holder.read_only || !R)
-// world << "Removing file [R]. File_used: [src.holder.file_used]"
- src.contents.Remove(R)
- src.holder.file_used -= src.size
- src.size -= R.size
- src.holder.file_used += src.size
- src.holder.file_used = max(src.holder.file_used, 0)
-// world << "Removed file [R]. File_used: [src.holder.file_used]"
- return 1
- return 0
- file
- name = "File"
- var/extension = "FILE" //Differentiate between types of files, why not
- proc
- copy_file_to_folder(datum/computer/folder/newfolder)
- if(!newfolder || (!istype(newfolder)) || (!newfolder.holder) || (newfolder.holder.read_only))
- return 0
-
- if((newfolder.holder.file_used + src.size) <= newfolder.holder.file_amount)
- var/datum/computer/file/newfile = new src.type
-
- for(var/V in src.vars)
- if (issaved(src.vars[V]) && V != "holder")
- newfile.vars[V] = src.vars[V]
-
- if(!newfolder.add_file(newfile))
- del(newfile)
-
- return 1
-
- return 0
-
-
- Del()
- if(holder && holding_folder)
- holding_folder.remove_file(src)
- ..()
-
-
-/datum/computer/file/computer_program
- name = "blank program"
- extension = "PROG"
- //var/size = 4.0
- //var/obj/item/weapon/disk/data/holder = null
- var/obj/machinery/computer2/master = null
- var/active_icon = null
- var/id_tag = null
- var/list/req_access = list()
-
- New(obj/holding as obj)
- if(holding)
- src.holder = holding
-
- if(istype(src.holder.loc,/obj/machinery/computer2))
- src.master = src.holder.loc
-
- Del()
- if(master)
- master.processing_programs.Remove(src)
- ..()
-
- proc
- return_text()
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(master.stat & (NOPOWER|BROKEN))
- return 1
-
- if(!(holder in src.master.contents))
- //world << "Holder [holder] not in [master] of prg:[src]"
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- if(!src.holder.root)
- src.holder.root = new /datum/computer/folder
- src.holder.root.holder = src
- src.holder.root.name = "root"
-
- return 0
-
- process()
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- master.processing_programs.Remove(src)
- return 1
-
- if(!src.holder.root)
- src.holder.root = new /datum/computer/folder
- src.holder.root.holder = src
- src.holder.root.name = "root"
-
- return 0
-
- receive_command(obj/source, command, datum/signal/signal)
- if((!src.holder) || (!src.master) || (!source) || (source != src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(master.stat & (NOPOWER|BROKEN))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- return 0
-
- peripheral_command(command, datum/signal/signal)
- if(master)
- master.send_command(command, signal)
- else
- del(signal)
-
- transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder)
-
- if((newholder.file_used + src.size) > newholder.file_amount)
- return 0
-
- if(!newholder.root)
- newholder.root = new /datum/computer/folder
- newholder.root.holder = newholder
- newholder.root.name = "root"
-
- if(!newfolder)
- newfolder = newholder.root
-
- if((src.holder && src.holder.read_only) || newholder.read_only)
- return 0
-
- if((src.holder) && (src.holder.root))
- src.holder.root.remove_file(src)
-
- newfolder.add_file(src)
-
- if(istype(newholder.loc,/obj/machinery/computer2))
- src.master = newholder.loc
-
- //world << "Setting [src.holder] to [newholder]"
- src.holder = newholder
- return 1
-
- //Check access per program.
- allowed(mob/M)
- //check if it doesn't require any access at all
- if(src.check_access(null))
- return 1
- if(istype(M, /mob/living/silicon))
- //AI can do whatever he wants
- return 1
- else if(istype(M, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- //if they are holding or wearing a card that has access, that works
- if(src.check_access(H.equipped()) || src.check_access(H.wear_id))
- return 1
- else if(istype(M, /mob/living/carbon/monkey))
- var/mob/living/carbon/monkey/george = M
- //they can only hold things :(
- if(george.equipped() && istype(george.equipped(), /obj/item/weapon/card/id) && src.check_access(george.equipped()))
- return 1
- return 0
-
- check_access(obj/item/weapon/card/id/I)
- if(!src.req_access) //no requirements
- return 1
- if(!istype(src.req_access, /list)) //something's very wrong
- return 1
-
- var/list/L = src.req_access
- if(!L.len) //no requirements
- return 1
- if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access
- return 0
- for(var/req in src.req_access)
- if(!(req in I.access)) //doesn't have this access
- return 0
- return 1
-
- Topic(href, href_list)
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(master.stat & (NOPOWER|BROKEN))
- return 1
-
- if(src.master.active_program != src)
- return 1
-
- if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- usr.machine = src.master
-
- if (href_list["close"])
- usr.machine = null
- usr << browse(null, "window=comp2")
- return 0
-
- if (href_list["quit"])
-// src.master.processing_programs.Remove(src)
- if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents))
- src.master.run_program(src.master.host_program)
- src.master.updateUsrDialog()
- return 1
- else
- src.master.active_program = null
- src.master.updateUsrDialog()
- return 1
-
- return 0
\ No newline at end of file
diff --git a/code/unused/computer2/buildandrepair.dm b/code/unused/computer2/buildandrepair.dm
deleted file mode 100644
index 1e1a77afce8..00000000000
--- a/code/unused/computer2/buildandrepair.dm
+++ /dev/null
@@ -1,150 +0,0 @@
-//Motherboard is just used in assembly/disassembly, doesn't exist in the actual computer object.
-/obj/item/weapon/motherboard
- name = "Computer mainboard"
- desc = "A computer motherboard."
- icon = 'icons/obj/module.dmi'
- icon_state = "mainboard"
- item_state = "electronic"
- w_class = 3
- var/created_name = null //If defined, result computer will have this name.
-
-/obj/computer2frame
- density = 1
- anchored = 0
- name = "Computer-frame"
- icon = 'icons/obj/stock_parts.dmi'
- icon_state = "0"
- var/state = 0
- var/obj/item/weapon/motherboard/mainboard = null
- var/obj/item/weapon/disk/data/fixed_disk/hd = null
- var/list/peripherals = list()
- var/created_icon_state = "aiupload"
-
-/obj/computer2frame/attackby(obj/item/P as obj, mob/user as mob)
- switch(state)
- if(0)
- if(istype(P, /obj/item/weapon/wrench))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 20))
- user << "\blue You wrench the frame into place."
- src.anchored = 1
- src.state = 1
- if(istype(P, /obj/item/weapon/weldingtool))
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 20))
- user << "\blue You deconstruct the frame."
- new /obj/item/stack/sheet/metal( src.loc, 5 )
- del(src)
- if(1)
- if(istype(P, /obj/item/weapon/wrench))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 20))
- user << "\blue You unfasten the frame."
- src.anchored = 0
- src.state = 0
- if(istype(P, /obj/item/weapon/motherboard) && !mainboard)
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "\blue You place the mainboard inside the frame."
- src.icon_state = "1"
- src.mainboard = P
- user.drop_item()
- P.loc = src
- if(istype(P, /obj/item/weapon/screwdriver) && mainboard)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- user << "\blue You screw the mainboard into place."
- src.state = 2
- src.icon_state = "2"
- if(istype(P, /obj/item/weapon/crowbar) && mainboard)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "\blue You remove the mainboard."
- src.state = 1
- src.icon_state = "0"
- mainboard.loc = src.loc
- src.mainboard = null
- if(2)
- if(istype(P, /obj/item/weapon/screwdriver) && mainboard && (!peripherals.len))
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- user << "\blue You unfasten the mainboard."
- src.state = 1
- src.icon_state = "1"
-
- if(istype(P, /obj/item/weapon/peripheral))
- if(src.peripherals.len < 3)
- user.drop_item()
- src.peripherals.Add(P)
- P.loc = src
- user << "\blue You add [P] to the frame."
- else
- user << "\red There is no more room for peripheral cards."
-
- if(istype(P, /obj/item/weapon/crowbar) && src.peripherals.len)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "\blue You remove the peripheral boards."
- for(var/obj/item/weapon/peripheral/W in src.peripherals)
- W.loc = src.loc
- src.peripherals.Remove(W)
-
- if(istype(P, /obj/item/weapon/cable_coil))
- if(P:amount >= 5)
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 20))
- P:amount -= 5
- if(!P:amount) del(P)
- user << "\blue You add cables to the frame."
- src.state = 3
- src.icon_state = "3"
- if(3)
- if(istype(P, /obj/item/weapon/wirecutters))
- playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
- user << "\blue You remove the cables."
- src.state = 2
- src.icon_state = "2"
- var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
- A.amount = 5
- if(src.hd)
- src.hd.loc = src.loc
- src.hd = null
-
- if(istype(P, /obj/item/weapon/disk/data/fixed_disk) && !src.hd)
- user.drop_item()
- src.hd = P
- P.loc = src
- user << "\blue You connect the drive to the cabling."
-
- if(istype(P, /obj/item/weapon/crowbar) && src.hd)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "\blue You remove the hard drive."
- src.hd.loc = src.loc
- src.hd = null
-
- if(istype(P, /obj/item/stack/sheet/glass))
- if(P:amount >= 2)
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- if(do_after(user, 20))
- P:use(2)
- user << "\blue You put in the glass panel."
- src.state = 4
- src.icon_state = "4"
- if(4)
- if(istype(P, /obj/item/weapon/crowbar))
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- user << "\blue You remove the glass panel."
- src.state = 3
- src.icon_state = "3"
- new /obj/item/stack/sheet/glass( src.loc, 2 )
- if(istype(P, /obj/item/weapon/screwdriver))
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- user << "\blue You connect the monitor."
- var/obj/machinery/computer2/C= new /obj/machinery/computer2( src.loc )
- C.setup_drive_size = 0
- C.icon_state = src.created_icon_state
- if(mainboard.created_name) C.name = mainboard.created_name
- del(mainboard)
- if(hd)
- C.hd = hd
- hd.loc = C
- for(var/obj/item/weapon/peripheral/W in src.peripherals)
- W.loc = C
- W.host = C
- C.peripherals.Add(W)
- del(src)
\ No newline at end of file
diff --git a/code/unused/computer2/computerII.dm b/code/unused/computer2/computerII.dm
deleted file mode 100644
index 433853d682c..00000000000
--- a/code/unused/computer2/computerII.dm
+++ /dev/null
@@ -1,414 +0,0 @@
-
-/obj/machinery/computer2
- name = "computer"
- desc = "A computer workstation."
- icon = 'icons/obj/computer.dmi'
- icon_state = "aiupload"
- density = 1
- anchored = 1.0
- req_access = list() //This doesn't determine PROGRAM req access, just the access needed to install/delete programs.
- var/base_icon_state = "aiupload" //Assembly creates a new computer2 and not a child typepath, so initial doesn't work!!
- var/datum/radio_frequency/radio_connection
- var/obj/item/weapon/disk/data/fixed_disk/hd = null
- var/datum/computer/file/computer_program/active_program
- var/datum/computer/file/computer_program/host_program //active is set to this when the normal active quits, if available
- var/list/processing_programs = list()
- var/obj/item/weapon/card/id/authid = null //For records computers etc
- var/obj/item/weapon/card/id/auxid = null //For computers that need two ids for some reason.
- var/obj/item/weapon/disk/data/diskette = null
- var/list/peripherals = list()
- //Setup for Starting program & peripherals
- var/setup_starting_program = null //If set to a program path it will start with this one active.
- var/setup_starting_peripheral = null //Spawn with radio card and whatever path is here.
- var/setup_drive_size = 64.0 //How big is the drive (set to 0 for no drive)
- var/setup_id_tag
- var/setup_has_radio = 0 //Does it spawn with a radio peripheral?
- var/setup_radio_tag
- var/setup_frequency = 1411
-
-/obj/item/weapon/disk/data
- var/datum/computer/folder/root = null
- var/file_amount = 32.0
- var/file_used = 0.0
- var/portable = 1
- var/title = "Data Disk"
- New()
- src.root = new /datum/computer/folder
- src.root.holder = src
- src.root.name = "root"
-
-/obj/item/weapon/disk/data/fixed_disk
- name = "Storage Drive"
- icon_state = "harddisk"
- title = "Storage Drive"
- file_amount = 80.0
- portable = 0
-
- attack_self(mob/user as mob)
- return
-
-/obj/item/weapon/disk/data/computer2test
- name = "Programme Diskette"
- file_amount = 128.0
- New()
- ..()
- src.root.add_file( new /datum/computer/file/computer_program/arcade(src))
- src.root.add_file( new /datum/computer/file/computer_program/med_data(src))
- src.root.add_file( new /datum/computer/file/computer_program/airlock_control(src))
- src.root.add_file( new /datum/computer/file/computer_program/messenger(src))
- src.root.add_file( new /datum/computer/file/computer_program/progman(src))
-
-/obj/machinery/computer2/medical
- name = "Medical computer"
- icon_state = "dna"
- setup_has_radio = 1
- setup_starting_program = /datum/computer/file/computer_program/med_data
- setup_starting_peripheral = /obj/item/weapon/peripheral/printer
-
-/obj/machinery/computer2/arcade
- name = "arcade machine"
- icon_state = "arcade"
- desc = "An arcade machine."
- setup_drive_size = 16.0
- setup_starting_program = /datum/computer/file/computer_program/arcade
- setup_starting_peripheral = /obj/item/weapon/peripheral/prize_vendor
-
-
-/obj/machinery/computer2/New()
- ..()
-
- spawn(4)
- if(setup_has_radio)
- var/obj/item/weapon/peripheral/radio/radio = new /obj/item/weapon/peripheral/radio(src)
- radio.frequency = setup_frequency
- radio.code = setup_radio_tag
-
- if(!hd && (setup_drive_size > 0))
- src.hd = new /obj/item/weapon/disk/data/fixed_disk(src)
- src.hd.file_amount = src.setup_drive_size
-
- if(ispath(src.setup_starting_program))
- src.active_program = new src.setup_starting_program
- src.active_program.id_tag = setup_id_tag
-
- src.hd.file_amount = max(src.hd.file_amount, src.active_program.size)
-
- src.active_program.transfer_holder(src.hd)
-
- if(ispath(src.setup_starting_peripheral))
- new src.setup_starting_peripheral(src)
-
- src.base_icon_state = src.icon_state
-
- return
-
-/obj/machinery/computer2/attack_hand(mob/user as mob)
- if(..())
- return
-
- user.machine = src
-
- var/dat
- if((src.active_program) && (src.active_program.master == src) && (src.active_program.holder in src))
- dat = src.active_program.return_text()
- else
- dat = "Thinktronic BIOS V1.4
"
-
- dat += "Current ID: [src.authid ? "[src.authid.name]" : "----------"]
"
- dat += "Auxiliary ID: [src.auxid ? "[src.auxid.name]" : "----------"]
"
-
- var/progdat
- if((src.hd) && (src.hd.root))
- for(var/datum/computer/file/computer_program/P in src.hd.root.contents)
- progdat += "| [P.name] | Size: [P.size] | "
-
- progdat += "Run | "
-
- if(P in src.processing_programs)
- progdat += "Halt | "
- else
- progdat += "Load | "
-
- progdat += "Del |
"
-
- continue
-
- dat += "Disk Space: \[[src.hd.file_used]/[src.hd.file_amount]\]
"
- dat += "Programs on Fixed Disk:
"
-
- if(!progdat)
- progdat = "No programs found.
"
- dat += ""
-
- else
-
- dat += "Programs on Fixed Disk:
"
- dat += "No fixed disk detected.
"
-
- dat += "
"
-
- progdat = null
- if((src.diskette) && (src.diskette.root))
-
- dat += "Eject
"
-
- for(var/datum/computer/file/computer_program/P in src.diskette.root.contents)
- progdat += "| [P.name] | Size: [P.size] | "
- progdat += "Run | "
-
- if(P in src.processing_programs)
- progdat += "Halt | "
- else
- progdat += "Load | "
-
- progdat += "Install |
"
-
- continue
-
- dat += "Disk Space: \[[src.diskette.file_used]/[src.diskette.file_amount]\]
"
- dat += "Programs on Disk:
"
-
- if(!progdat)
- progdat = "No data found.
"
- dat += ""
-
- else
-
- dat += "Programs on Disk:
"
- dat += "No diskette loaded.
"
-
- dat += ""
-
- user << browse(dat,"window=comp2")
- onclose(user,"comp2")
- return
-
-/obj/machinery/computer2/Topic(href, href_list)
- if(..())
- return
-
- if(!src.active_program)
- if((href_list["prog"]) && (href_list["function"]))
- var/datum/computer/file/computer_program/newprog = locate(href_list["prog"])
- if(newprog && istype(newprog))
- switch(href_list["function"])
- if("run")
- src.run_program(newprog)
- if("load")
- src.load_program(newprog)
- if("unload")
- src.unload_program(newprog)
- if((href_list["file"]) && (href_list["function"]))
- var/datum/computer/file/newfile = locate(href_list["file"])
- if(!newfile)
- return
- switch(href_list["function"])
- if("install")
- if((src.hd) && (src.hd.root) && (src.allowed(usr)))
- newfile.copy_file_to_folder(src.hd.root)
-
- if("delete")
- if(src.allowed(usr))
- src.delete_file(newfile)
-
- //If there is already one loaded eject, or if not and they have one insert it.
- if (href_list["id"])
- switch(href_list["id"])
- if("auth")
- if(!isnull(src.authid))
- src.authid.loc = get_turf(src)
- src.authid = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/id))
- usr.drop_item()
- I.loc = src
- src.authid = I
- if("aux")
- if(!isnull(src.auxid))
- src.auxid.loc = get_turf(src)
- src.auxid = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/id))
- usr.drop_item()
- I.loc = src
- src.auxid = I
-
- //Same but for a data disk
- else if (href_list["disk"])
- if(!isnull(src.diskette))
- src.diskette.loc = get_turf(src)
- src.diskette = null
-/* else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/disk/data))
- usr.drop_item()
- I.loc = src
- src.diskette = I
-*/
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-/obj/machinery/computer2/process()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(250)
-
- for(var/datum/computer/file/computer_program/P in src.processing_programs)
- P.process()
-
- return
-
-/obj/machinery/computer2/power_change()
- if(stat & BROKEN)
- icon_state = src.base_icon_state
- src.icon_state += "b"
-
- else if(powered())
- icon_state = src.base_icon_state
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- icon_state = src.base_icon_state
- src.icon_state += "0"
- stat |= NOPOWER
-
-
-/obj/machinery/computer2/attackby(obj/item/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
- if ((!src.diskette) && W:portable)
- user.machine = src
- user.drop_item()
- W.loc = src
- src.diskette = W
- user << "You insert [W]."
- src.updateUsrDialog()
- return
-
- else if (istype(W, /obj/item/weapon/screwdriver))
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- if(do_after(user, 20))
- var/obj/computer2frame/A = new /obj/computer2frame( src.loc )
- A.created_icon_state = src.base_icon_state
- if (src.stat & BROKEN)
- user << "\blue The broken glass falls out."
- new /obj/item/weapon/shard( src.loc )
- A.state = 3
- A.icon_state = "3"
- else
- user << "\blue You disconnect the monitor."
- A.state = 4
- A.icon_state = "4"
-
- for (var/obj/item/weapon/peripheral/C in src.peripherals)
- C.loc = A
- A.peripherals.Add(C)
-
- if(src.diskette)
- src.diskette.loc = src.loc
-
- //TO-DO: move card reading to peripheral cards instead
- if(src.authid)
- src.authid.loc = src.loc
-
- if(src.auxid)
- src.auxid.loc = src.loc
-
- if(src.hd)
- src.hd.loc = A
- A.hd = src.hd
-
- A.mainboard = new /obj/item/weapon/motherboard(A)
- A.mainboard.created_name = src.name
-
-
- A.anchored = 1
- del(src)
-
- else
- src.attack_hand(user)
- return
-
-/obj/machinery/computer2/proc/send_command(command, datum/signal/signal)
- for(var/obj/item/weapon/peripheral/P in src.peripherals)
- P.receive_command(src, command, signal)
-
- del(signal)
-
-/obj/machinery/computer2/proc/receive_command(obj/source, command, datum/signal/signal)
- if(source in src.contents)
-
- for(var/datum/computer/file/computer_program/P in src.processing_programs)
- P.receive_command(src, command, signal)
-
- del(signal)
-
- return
-
-
-/obj/machinery/computer2/proc/run_program(datum/computer/file/computer_program/program,datum/computer/file/computer_program/host)
- if(!program)
- return 0
-
-// src.unload_program(src.active_program)
-
- if(src.load_program(program))
- if(host && istype(host))
- src.host_program = host
- else
- src.host_program = null
-
- src.active_program = program
- return 1
-
- return 0
-
-/obj/machinery/computer2/proc/load_program(datum/computer/file/computer_program/program)
- if((!program) || (!program.holder))
- return 0
-
- if(!(program.holder in src))
-// world << "Not in src"
- program = new program.type
- program.transfer_holder(src.hd)
-
- if(program.master != src)
- program.master = src
-
- if(program in src.processing_programs)
- return 1
- else
- src.processing_programs.Add(program)
- return 1
-
- return 0
-
-/obj/machinery/computer2/proc/unload_program(datum/computer/file/computer_program/program)
- if((!program) || (!src.hd))
- return 0
-
- if(program in src.processing_programs)
- src.processing_programs.Remove(program)
- return 1
-
- return 0
-
-/obj/machinery/computer2/proc/delete_file(datum/computer/file/file)
- //world << "Deleting [file]..."
- if((!file) || (!file.holder) || (file.holder.read_only))
- //world << "Cannot delete :("
- return 0
-
- if(file in src.processing_programs)
- src.processing_programs.Remove(file)
-
- if(src.active_program == file)
- src.active_program = null
-
-// file.holder.root.remove_file(file)
-
- //world << "Now calling del on [file]..."
- del(file)
- return 1
\ No newline at end of file
diff --git a/code/unused/computer2/filebrowse.dm b/code/unused/computer2/filebrowse.dm
deleted file mode 100644
index 38c88f06161..00000000000
--- a/code/unused/computer2/filebrowse.dm
+++ /dev/null
@@ -1,164 +0,0 @@
-/datum/computer/file/computer_program/progman
- name = "ProgManager"
- size = 16.0
- var/datum/computer/folder/current_folder
- var/mode = 0
- var/datum/computer/file/clipboard
-
-
- return_text()
- if(..())
- return
-
- if((!src.current_folder) || !(src.current_folder.holder in src.master))
- src.current_folder = src.holder.root
-
- var/dat = "Close | "
- dat += "Quit"
-
- switch(mode)
- if(0)
- dat += " |Create Folder"
- //dat += " | Create File"
- dat += " | Paste"
- dat += " | Root"
- dat += " | Drive
"
-
- dat += "Contents of [current_folder] | Drive:\[[src.current_folder.holder.title]]
"
- dat += "Used: \[[src.current_folder.holder.file_used]/[src.current_folder.holder.file_amount]\]
"
-
- dat += ""
- for(var/datum/computer/P in current_folder.contents)
- if(P == src)
- dat += "| System | Size: [src.size] | SYSTEM |
"
- continue
- dat += "| [P.name] | "
- dat += "Size: [P.size] | "
-
- dat += "[(istype(P,/datum/computer/folder)) ? "FOLDER" : "[P:extension]"] | "
-
- dat += "Del | "
- dat += "Rename | "
-
-
- if(istype(P,/datum/computer/file))
- dat += "Copy | "
-
- dat += "
"
-
- dat += "
"
-
- if(1)
- dat += " | Main"
- dat += " | Eject
"
-
- for(var/obj/item/weapon/disk/data/D in src.master)
- if(D == current_folder.holder)
- dat += "[D.name]
"
- else
- dat += "[D.title]
"
-
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["create"])
- if(current_folder)
- var/datum/computer/F = null
- switch(href_list["create"])
- if("folder")
- F = new /datum/computer/folder
- if(!current_folder.add_file(F))
- //world << "Couldn't add folder :("
- del(F)
- if("file")
- F = new /datum/computer/file
- if(!current_folder.add_file(F))
- //world << "Couldn't add file :("
- del(F)
-
- if(href_list["file"] && href_list["function"])
- var/datum/computer/F = locate(href_list["file"])
- if(!F || !istype(F))
- return
- switch(href_list["function"])
- if("open")
- if(istype(F,/datum/computer/folder))
- src.current_folder = F
- else if(istype(F,/datum/computer/file/computer_program))
- src.master.run_program(F,src)
- src.master.updateUsrDialog()
- return
-
- if("delete")
- src.master.delete_file(F)
-
- if("copy")
- if(istype(F,/datum/computer/file) && (!F.holder || (F.holder in src.master.contents)))
- src.clipboard = F
-
- if("paste")
- if(istype(F,/datum/computer/folder))
- if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents))
- return
-
- if(!istype(src.clipboard))
- return
-
- src.clipboard.copy_file_to_folder(F)
-
- if("rename")
- spawn(0)
- var/t = input(usr, "Please enter new name", F.name, null) as text
- t = copytext(sanitize(t), 1, 16)
- if (!t)
- return
- if (!in_range(src.master, usr) || !(F.holder in src.master))
- return
- if(F.holder.read_only)
- return
- F.name = capitalize(lowertext(t))
- src.master.updateUsrDialog()
- return
-
-
-/*
- if(href_list["open"])
- var/datum/computer/F = locate(href_list["open"])
- if(!F || !istype(F))
- return
-
- if(istype(F,/datum/computer/folder))
- src.current_folder = F
- else if(istype(F,/datum/computer/file/computer_program))
- src.master.run_program(F)
- src.master.updateUsrDialog()
- return
-
- if(href_list["delete"])
- var/datum/computer/F = locate(href_list["delete"])
- if(!F || !istype(F))
- return
-
- src.master.delete_file(F)
-*/
- if(href_list["top_folder"])
- src.current_folder = src.current_folder.holder.root
-
- if(href_list["mode"])
- var/newmode = text2num(href_list["mode"])
- newmode = max(newmode,0)
- src.mode = newmode
-
- if(href_list["drive"])
- var/obj/item/weapon/disk/data/D = locate(href_list["drive"])
- if(D && istype(D) && D.root)
- current_folder = D.root
- src.mode = 0
-
- src.master.add_fingerprint(usr)
- src.master.updateUsrDialog()
- return
\ No newline at end of file
diff --git a/code/unused/computer2/med_rec.dm b/code/unused/computer2/med_rec.dm
deleted file mode 100644
index 0f510da7b8e..00000000000
--- a/code/unused/computer2/med_rec.dm
+++ /dev/null
@@ -1,463 +0,0 @@
-/datum/computer/file/computer_program/med_data
- name = "Medical Records"
- size = 32.0
- active_icon = "dna"
- req_access = list(ACCESS_MEDICAL)
- var/authenticated = null
- var/rank = null
- var/screen = null
- var/datum/data/record/active1 = null
- var/datum/data/record/active2 = null
- var/a_id = null
- var/temp = null
-
-/datum/computer/file/computer_program/med_data/return_text()
- if(..())
- return
- var/dat
- if (src.temp)
- dat = text("[src.temp]
Clear Screen")
- else
- dat = text("Confirm Identity: []
", master, (src.master.authid ? text("[]", src.master.authid.name) : "----------"))
- if (src.authenticated)
- switch(src.screen)
- if(1.0)
- dat += {"
-Search Records
-
List Records
-
-
Virus Database
-
Medbot Tracking
-
-
Record Maintenance
-
{Log Out}
-"}
- if(2.0)
- dat += "Record List:
"
- for(var/datum/data/record/R in data_core.general)
- dat += text("[]: []
", src, R, R.fields["id"], R.fields["name"])
- //Foreach goto(132)
- dat += text("
Back", src)
- if(3.0)
- dat += text("Records Maintenance
\nBackup To Disk
\nUpload From disk
\nDelete All Records
\n
\nBack", src, src, src, src)
- if(4.0)
- dat += "Medical Record
"
- if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)))
- dat += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["name"], src.active1.fields["id"], src, src.active1.fields["sex"], src, src.active1.fields["age"], src, src.active1.fields["fingerprint"], src, src.active1.fields["p_stat"], src, src.active1.fields["m_stat"])
- else
- dat += "General Record Lost!
"
- if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
- dat += text("
\nMedical Data
\nBlood Type: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", src, src.active2.fields["b_type"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"])
- var/counter = 1
- while(src.active2.fields[text("com_[]", counter)])
- dat += text("[]
Delete Entry
", src.active2.fields[text("com_[]", counter)], src, counter)
- counter++
- dat += text("Add Entry
", src)
- dat += text("Delete Record (Medical Only)
", src)
- else
- dat += "Medical Record Lost!
"
- dat += text("New Record
")
- dat += text("\nPrint Record
\nBack
", src, src)
- if(5.0)
- dat += {"Virus Database
-
GBS
-
Common Cold
-
Flu
-
Jungle Fever
-
Clowning Around
-
Plasmatoid
-
Space Rhinovirus
-
Robot Transformation
-
Back"}
- if(6.0)
- dat += "Medical Robot Monitor"
- dat += "Back"
- dat += "
Medical Robots:"
- var/bdat = null
- for(var/obj/machinery/bot/medbot/M in world)
- var/turf/bl = get_turf(M)
- bdat += "[M.name] - \[[bl.x],[bl.y]\] - [M.on ? "Online" : "Offline"]
"
- if(!isnull(M.reagent_glass))
- bdat += "Reservoir: \[[M.reagent_glass.reagents.total_volume]/[M.reagent_glass.reagents.maximum_volume]\]"
- else
- bdat += "Using Internal Synthesizer."
-
- if(!bdat)
- dat += "
None detected"
- else
- dat += "[bdat]"
-
- else
- else
- dat += text("{Log In}", src)
- dat += "
{Quit}"
-
- return dat
-
-/datum/computer/file/computer_program/med_data/Topic(href, href_list)
- if(..())
- return
- if (!( data_core.general.Find(src.active1) ))
- src.active1 = null
- if (!( data_core.medical.Find(src.active2) ))
- src.active2 = null
- if (href_list["temp"])
- src.temp = null
- else if (href_list["logout"])
- src.authenticated = null
- src.screen = null
- src.active1 = null
- src.active2 = null
- else if (href_list["login"])
- if (istype(usr, /mob/living/silicon))
- src.active1 = null
- src.active2 = null
- src.authenticated = 1
- src.rank = "AI"
- src.screen = 1
- else if (istype(src.master.authid, /obj/item/weapon/card/id))
- src.active1 = null
- src.active2 = null
- if (src.check_access(src.master.authid))
- src.authenticated = src.master.authid.registered_name
- src.rank = src.master.authid.assignment
- src.screen = 1
- if (src.authenticated)
-
- if(href_list["screen"])
- src.screen = text2num(href_list["screen"])
- if(src.screen < 1)
- src.screen = 1
-
- src.active1 = null
- src.active2 = null
-
- if(href_list["vir"])
- switch(href_list["vir"])
- if("gbs")
- src.temp = {"Name: GBS
-
Number of stages: 5
-
Spread: Airborne Transmission
-
Possible Cure: Spaceacillin
-
Affected Species: Human
-
-
Notes: If left untreated death will occur.
-
-
Severity: Major"}
- if("cc")
- src.temp = {"Name: Common Cold
-
Number of stages: 3
-
Spread: Airborne Transmission
-
Possible Cure: Rest
-
Affected Species: Human
-
-
Notes: If left untreated the subject will contract the flu.
-
-
Severity: Minor"}
- if("f")
- src.temp = {"Name: The Flu
-
Number of stages: 3
-
Spread: Airborne Transmission
-
Possible Cure: Rest
-
Affected Species: Human
-
-
Notes: If left untreated the subject will feel quite unwell.
-
-
Severity: Medium"}
- if("jf")
- src.temp = {"Name: Jungle Fever
-
Number of stages: 1
-
Spread: Airborne Transmission
-
Possible Cure: None
-
Affected Species: Monkey
-
-
Notes: monkeys with this disease will bite humans, causing humans to spontaneously to mutate into a monkey.
-
-
Severity: Medium"}
- if("ca")
- src.temp = {"Name: Clowning Around
-
Number of stages: 4
-
Spread: Airborne Transmission
-
Possible Cure: Spaceacillin
-
Affected Species: Human
-
-
Notes: Subjects are affected by rampant honking and a fondness for shenanigans. They may also spontaneously phase through closed airlocks.
-
-
Severity: Laughable"}
- if("p")
- src.temp = {"Name: Plasmatoid
-
Number of stages: 3
-
Spread: Airborne Transmission
-
Possible Cure: Inaprovaline
-
Affected Species: Human and Monkey
-
-
Notes: With this disease the victim will need plasma to breathe.
-
-
Severity: Major"}
- if("dna")
- src.temp = {"Name: Space Rhinovirus
-
Number of stages: 4
-
Spread: Airborne Transmission
-
Possible Cure: Spaceacillin
-
Affected Species: Human
-
-
Notes: This disease transplants the genetic code of the intial vector into new hosts.
-
-
Severity: Medium"}
- if("bot")
- src.temp = {"Name: Robot Transformation
-
Number of stages: 5
-
Spread: Infected food
-
Possible Cure: None
-
Affected Species: Human
-
-
Notes: This disease, actually acute nanomachine infection, converts the victim into a cyborg.
-
-
Severity: Major"}
-
- if (href_list["del_all"])
- src.temp = text("Are you sure you wish to delete all records?
\n\tYes
\n\tNo
", src, src)
-
- if (href_list["del_all2"])
- for(var/datum/data/record/R in data_core.medical)
- del(R)
- src.temp = "All records deleted."
-
- if (href_list["field"])
- var/a1 = src.active1
- var/a2 = src.active2
- switch(href_list["field"])
- if("fingerprint")
- if (istype(src.active1, /datum/data/record))
- var/t1 = input("Please input fingerprint hash:", "Med. records", src.active1.fields["id"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1))
- return
- src.active1.fields["fingerprint"] = t1
- if("sex")
- if (istype(src.active1, /datum/data/record))
- if (src.active1.fields["sex"] == "Male")
- src.active1.fields["sex"] = "Female"
- else
- src.active1.fields["sex"] = "Male"
- if("age")
- if (istype(src.active1, /datum/data/record))
- var/t1 = input("Please input age:", "Med. records", src.active1.fields["age"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1))
- return
- src.active1.fields["age"] = t1
- if("mi_dis")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["mi_dis"] = t1
- if("mi_dis_d")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) as message
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["mi_dis_d"] = t1
- if("ma_dis")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["ma_dis"] = t1
- if("ma_dis_d")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) as message
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["ma_dis_d"] = t1
- if("alg")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["alg"] = t1
- if("alg_d")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) as message
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["alg_d"] = t1
- if("cdi")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) as text
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["cdi"] = t1
- if("cdi_d")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) as message
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["cdi_d"] = t1
- if("notes")
- if (istype(src.active2, /datum/data/record))
- var/t1 = input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) as message
- if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- src.active2.fields["notes"] = t1
- if("p_stat")
- if (istype(src.active1, /datum/data/record))
- src.temp = text("Physical Condition:
\n\t*Deceased*
\n\t*Unconscious*
\n\tActive
\n\tPhysically Unfit
", src, src, src, src)
- if("m_stat")
- if (istype(src.active1, /datum/data/record))
- src.temp = text("Mental Condition:
\n\t*Insane*
\n\t*Unstable*
\n\t*Watch*
\n\tStable
", src, src, src, src)
- if("b_type")
- if (istype(src.active2, /datum/data/record))
- src.temp = text("Blood Type:
\n\tA- A+
\n\tB- B+
\n\tAB- AB+
\n\tO- O+
", src, src, src, src, src, src, src, src)
- else
-
- if (href_list["p_stat"])
- if (src.active1)
- switch(href_list["p_stat"])
- if("deceased")
- src.active1.fields["p_stat"] = "*Deceased*"
- if("unconscious")
- src.active1.fields["p_stat"] = "*Unconscious*"
- if("active")
- src.active1.fields["p_stat"] = "Active"
- if("unfit")
- src.active1.fields["p_stat"] = "Physically Unfit"
-
- if (href_list["m_stat"])
- if (src.active1)
- switch(href_list["m_stat"])
- if("insane")
- src.active1.fields["m_stat"] = "*Insane*"
- if("unstable")
- src.active1.fields["m_stat"] = "*Unstable*"
- if("watch")
- src.active1.fields["m_stat"] = "*Watch*"
- if("stable")
- src.active2.fields["m_stat"] = "Stable"
-
-
- if (href_list["b_type"])
- if (src.active2)
- switch(href_list["b_type"])
- if("an")
- src.active2.fields["b_type"] = "A-"
- if("bn")
- src.active2.fields["b_type"] = "B-"
- if("abn")
- src.active2.fields["b_type"] = "AB-"
- if("on")
- src.active2.fields["b_type"] = "O-"
- if("ap")
- src.active2.fields["b_type"] = "A+"
- if("bp")
- src.active2.fields["b_type"] = "B+"
- if("abp")
- src.active2.fields["b_type"] = "AB+"
- if("op")
- src.active2.fields["b_type"] = "O+"
-
-
- if (href_list["del_r"])
- if (src.active2)
- src.temp = "Are you sure you wish to delete the record (Medical Portion Only)?
\n\tYes
\n\tNo
"
-
- if (href_list["del_r2"])
- if (src.active2)
- del(src.active2)
-
- if (href_list["d_rec"])
- var/datum/data/record/R = locate(href_list["d_rec"])
- var/datum/data/record/M = locate(href_list["d_rec"])
- if (!( data_core.general.Find(R) ))
- src.temp = "Record Not Found!"
- return
- for(var/datum/data/record/E in data_core.medical)
- if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
- M = E
- else
- //Foreach continue //goto(2540)
- src.active1 = R
- src.active2 = M
- src.screen = 4
-
- if (href_list["new"])
- if ((istype(src.active1, /datum/data/record) && !( istype(src.active2, /datum/data/record) )))
- var/datum/data/record/R = new /datum/data/record( )
- R.fields["name"] = src.active1.fields["name"]
- R.fields["id"] = src.active1.fields["id"]
- R.name = text("Medical Record #[]", R.fields["id"])
- R.fields["b_type"] = "Unknown"
- R.fields["mi_dis"] = "None"
- R.fields["mi_dis_d"] = "No minor disabilities have been declared."
- R.fields["ma_dis"] = "None"
- R.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
- R.fields["alg"] = "None"
- R.fields["alg_d"] = "No allergies have been detected in this patient."
- R.fields["cdi"] = "None"
- R.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
- R.fields["notes"] = "No notes."
- data_core.medical += R
- src.active2 = R
- src.screen = 4
-
- if (href_list["add_c"])
- if (!( istype(src.active2, /datum/data/record) ))
- return
- var/a2 = src.active2
- var/t1 = input("Add Comment:", "Med. records", null, null) as message
- if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2))
- return
- var/counter = 1
- while(src.active2.fields[text("com_[]", counter)])
- counter++
- src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1)
-
- if (href_list["del_c"])
- if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])]))
- src.active2.fields[text("com_[]", href_list["del_c"])] = "Deleted"
-
- if (href_list["search"])
- var/t1 = input("Search String: (Name or ID)", "Med. records", null, null) as text
- if ((!( t1 ) || usr.stat || (!src.master) || !( src.authenticated ) || usr.restrained() || ((!in_range(src.master, usr)) && (!istype(usr, /mob/living/silicon)))))
- return
- src.active1 = null
- src.active2 = null
- t1 = lowertext(t1)
- for(var/datum/data/record/R in data_core.general)
- if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"])))
- src.active1 = R
- else
-
- if (!( src.active1 ))
- src.temp = text("Could not locate record [].", t1)
- else
- for(var/datum/data/record/E in data_core.medical)
- if ((E.fields["name"] == src.active1.fields["name"] || E.fields["id"] == src.active1.fields["id"]))
- src.active2 = E
- else
-
- src.screen = 4
-
- if (href_list["print_p"])
- var/info = "Medical Record
"
- if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)))
- info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"], src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"])
- else
- info += "General Record Lost!
"
- if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
- info += text("
\nMedical Data
\nBlood Type: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\nComments/Log
", src.active2.fields["b_type"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"])
- var/counter = 1
- while(src.active2.fields[text("com_[]", counter)])
- info += text("[]
", src.active2.fields[text("com_[]", counter)])
- counter++
- else
- info += "Medical Record Lost!
"
- info += ""
-
- var/datum/signal/signal = new
- signal.data["data"] = info
- signal.data["title"] = "Medical Record"
- src.peripheral_command("print",signal)
-
- src.master.add_fingerprint(usr)
- src.master.updateUsrDialog()
- return
\ No newline at end of file
diff --git a/code/unused/computer2/messenger.dm b/code/unused/computer2/messenger.dm
deleted file mode 100644
index be1930bb7a2..00000000000
--- a/code/unused/computer2/messenger.dm
+++ /dev/null
@@ -1,97 +0,0 @@
-/datum/computer/file/computer_program/messenger
- name = "Messenger"
- size = 8.0
- var/messages = null
- var/screen_name = "User"
-
-//To-do: take screen_name from inserted id card??
-//Saving log to file datum
-
- return_text()
- if(..())
- return
-
- var/dat = "Close | "
- dat += "Quit
"
-
- dat += "SpaceMessenger V4.1.2
"
-
- dat += "Send Message"
-
- dat += " | Clear"
- dat += " | Print"
-
- dat += " | Name:[src.screen_name]
"
-
- dat += messages
-
- dat += ""
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["send_msg"])
- var/t = input(usr, "Please enter messenger", src.id_tag, null) as text
- t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN)
- if (!t)
- return
- if (!in_range(src.master, usr))
- return
-
- var/datum/signal/signal = new
- signal.data["type"] = "message"
- signal.data["data"] = t
- signal.data["sender"] = src.screen_name
- src.messages += "→ You:
[t]
"
-
- peripheral_command("send signal", signal)
-
- if(href_list["func_msg"])
- switch(href_list["func_msg"])
- if("clear")
- src.messages = null
-
- if("print")
- var/datum/signal/signal = new
- signal.data["data"] = src.messages
- signal.data["title"] = "Chatlog"
- peripheral_command("print", signal)
-
- //if("save")
- //TO-DO
-
-
- if(href_list["set_name"])
- var/t = input(usr, "Please enter screen name", src.id_tag, null) as text
- t = copytext(sanitize(t), 1, 20)
- if (!t)
- return
- if (!in_range(src.master, usr))
- return
-
- src.screen_name = t
-
- src.master.add_fingerprint(usr)
- src.master.updateUsrDialog()
- return
-
- receive_command(obj/source, command, datum/signal/signal)
- if(..() || !signal)
- return
-
- if(command == "radio signal")
- switch(signal.data["type"])
- if("message")
- var/sender = signal.data["sender"]
- if(!sender)
- sender = "Unknown"
-
- src.messages += "← From [sender]:
[signal.data["data"]]
"
- if(src.master.active_program == src)
- playsound(src.master.loc, 'sound/machines/twobeep.ogg', 50, 1)
- src.master.updateUsrDialog()
-
- return
\ No newline at end of file
diff --git a/code/unused/computer2/peripherals.dm b/code/unused/computer2/peripherals.dm
deleted file mode 100644
index 9e19cb9d236..00000000000
--- a/code/unused/computer2/peripherals.dm
+++ /dev/null
@@ -1,209 +0,0 @@
-/obj/item/weapon/peripheral
- name = "Peripheral card"
- desc = "A computer circuit board."
- icon = 'icons/obj/module.dmi'
- icon_state = "id_mod"
- item_state = "electronic"
- w_class = 2
- var/obj/machinery/computer2/host
- var/id = null
-
- New()
- ..()
- spawn(2)
- if(istype(src.loc,/obj/machinery/computer2))
- host = src.loc
- host.peripherals.Add(src)
-// var/setup_id = "\ref[src]"
-// src.id = copytext(setup_id,4,(length(setup_id)-1) )
-
- Del()
- if(host)
- host.peripherals.Remove(src)
- ..()
-
-
- proc
- receive_command(obj/source, command, datum/signal/signal)
- if((source != host) || !(src in host))
- return 1
-
- if(!command)
- return 1
-
- return 0
-
- send_command(command, datum/signal/signal)
- if(!command || !host)
- return
-
- src.host.receive_command(src, command, signal)
-
- return
-
-/obj/item/weapon/peripheral/radio
- name = "Wireless card"
- var/frequency = 1419
- var/code = null
- var/datum/radio_frequency/radio_connection
- New()
- ..()
- if(radio_controller)
- initialize()
-
- initialize()
- set_frequency(frequency)
-
- proc
- set_frequency(new_frequency)
- radio_controller.remove_object(src, frequency)
- frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
-
- receive_command(obj/source, command, datum/signal/signal)
- if(..())
- return
-
- if(!signal || !radio_connection)
- return
-
- switch(command)
- if("send signal")
- src.radio_connection.post_signal(src, signal)
-
- return
-
- receive_signal(datum/signal/signal)
- if(!signal || (signal.encryption && signal.encryption != code))
- return
-
- var/datum/signal/newsignal = new
- newsignal.data = signal.data
- if(src.code)
- newsignal.encryption = src.code
-
- send_command("radio signal",newsignal)
- return
-
-/obj/item/weapon/peripheral/printer
- name = "Printer module"
- desc = "A small printer designed to fit into a computer casing."
- icon_state = "card_mod"
- var/printing = 0
-
- receive_command(obj/source,command, datum/signal/signal)
- if(..())
- return
-
- if(!signal)
- return
-
- if((command == "print") && !src.printing)
- src.printing = 1
-
- var/print_data = signal.data["data"]
- var/print_title = signal.data["title"]
- if(!print_data)
- src.printing = 0
- return
- spawn(50)
- var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.host.loc )
- P.info = print_data
- if(print_title)
- P.name = "paper - '[print_title]'"
-
- src.printing = 0
- return
-
- return
-
-/obj/item/weapon/peripheral/prize_vendor
- name = "Prize vending module"
- desc = "An arcade prize dispenser designed to fit inside a computer casing."
- icon_state = "power_mod"
- var/last_vend = 0 //Delay between vends if manually activated(ie a dude is holding it and shaking stuff out)
-
- receive_command(obj/source,command, datum/signal/signal)
- if(..())
- return
-
- if(command == "vend prize")
- src.vend_prize()
-
- return
-
- attack_self(mob/user as mob)
- if( (last_vend + 400) < world.time)
- user << "You shake something out of [src]!"
- src.vend_prize()
- src.last_vend = world.time
- else
- user << "\red [src] isn't ready to dispense a prize yet."
-
- return
-
- proc/vend_prize()
- var/obj/item/prize
- var/prizeselect = rand(1,4)
- var/turf/prize_location = null
-
- if(src.host)
- prize_location = src.host.loc
- else
- prize_location = get_turf(src)
-
- switch(prizeselect)
- if(1)
- prize = new /obj/item/weapon/money( prize_location )
- prize.name = "space ticket"
- prize.desc = "It's almost like actual currency!"
- if(2)
- prize = new /obj/item/device/radio/beacon( prize_location )
- prize.name = "electronic blink toy game"
- prize.desc = "Blink. Blink. Blink."
- if(3)
- prize = new /obj/item/weapon/lighter/zippo( prize_location )
- prize.name = "Burno Lighter"
- prize.desc = "Almost like a decent lighter!"
- if(4)
- prize = new /obj/item/weapon/c_tube( prize_location )
- prize.name = "toy sword"
- prize.icon = 'icons/obj/weapons.dmi'
- prize.icon_state = "sword1"
- prize.desc = "A sword made of cheap plastic."
-
-/*
-/obj/item/weapon/peripheral/card_scanner
- name = "ID scanner module"
- icon_state = "card_mod"
- var/obj/item/weapon/card/id/authid = null
-
- attack_self(mob/user as mob)
- if(authid)
- user << "The card falls out."
- src.authid.loc = get_turf(user)
- src.authid = null
-
- return
-
- receive_command(obj/source,command, datum/signal/signal)
- if(..())
- return
-
- if(!signal || (signal.data["ref_id"] != "\ref[src]") )
- return
-
- switch(command)
- if("eject card")
- if(src.authid)
- src.authid.loc = src.host.loc
- src.authid = null
- if("add card access")
- var/new_access = signal.data["access"]
- if(!new_access)
- return
-
-
-
- return
-*/
\ No newline at end of file
diff --git a/code/unused/conveyor.dm b/code/unused/conveyor.dm
deleted file mode 100644
index 55581eb2345..00000000000
--- a/code/unused/conveyor.dm
+++ /dev/null
@@ -1,398 +0,0 @@
-// converyor belt
-
-// moves items/mobs/movables in set direction every ptick
-
-
-/obj/machinery/conveyor
- icon = 'icons/obj/recycling.dmi'
- icon_state = "conveyor0"
- name = "conveyor belt"
- desc = "A conveyor belt."
- anchored = 1
- var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off
- var/operable = 1 // true if can operate (no broken segments in this belt run)
- var/basedir // this is the default (forward) direction, set by the map dir
- // note dir var can vary when the direction changes
-
- var/list/affecting // the list of all items that will be moved this ptick
- var/id = "" // the control ID - must match controller ID
- // following two only used if a diverter is present
- var/divert = 0 // if non-zero, direction to divert items
- var/divdir = 0 // if diverting, will be conveyer dir needed to divert (otherwise dense)
-
-
-
- // create a conveyor
-
-/obj/machinery/conveyor/New()
- ..()
- basedir = dir
- setdir()
-
- // set the dir and target turf depending on the operating direction
-
-/obj/machinery/conveyor/proc/setdir()
- if(operating == -1)
- dir = turn(basedir,180)
- else
- dir = basedir
- update()
-
-
- // update the icon depending on the operating condition
-
-/obj/machinery/conveyor/proc/update()
- if(stat & BROKEN)
- icon_state = "conveyor-b"
- operating = 0
- return
- if(!operable)
- operating = 0
- icon_state = "conveyor[(operating != 0) && !(stat & NOPOWER)]"
-
-
- // machine process
- // move items to the target location
-/obj/machinery/conveyor/process()
- if(stat & (BROKEN | NOPOWER))
- return
- if(!operating)
- return
- use_power(100)
-
- var/movedir = dir // base movement dir
- if(divert && dir==divdir) // update if diverter present
- movedir = divert
-
-
- affecting = loc.contents - src // moved items will be all in loc
- spawn(1) // slight delay to prevent infinite propagation due to map order
- var/items_moved = 0
- for(var/atom/movable/A in affecting)
- if(!A.anchored)
- if(isturf(A.loc)) // this is to prevent an ugly bug that forces a player to drop what they're holding if they recently pick it up from the conveyer belt
- if(ismob(A))
- var/mob/M = A
- if(M.buckled == src)
- var/obj/machinery/conveyor/C = locate() in get_step(src, dir)
- M.buckled = null
- step(M,dir)
- if(C)
- M.buckled = C
- else
- new/obj/item/weapon/cable_coil/cut(M.loc)
- else
- step(M,movedir)
- else
- step(A,movedir)
- items_moved++
- if(items_moved >= 10)
- break
-
-// attack with item, place item on conveyor
-
-/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user)
- if(istype(I, /obj/item/weapon/grab)) // special handling if grabbing a mob
- var/obj/item/weapon/grab/G = I
- G.affecting.Move(src.loc)
- del(G)
- return
- else if(istype(I, /obj/item/weapon/cable_coil)) // if cable, see if a mob is present
- var/mob/M = locate() in src.loc
- if(M)
- if (M == user)
- src.visible_message("\blue [M] ties \himself to the conveyor.")
- // note don't check for lying if self-tying
- else
- if(M.lying)
- user.visible_message("\blue [M] has been tied to the conveyor by [user].", "\blue You tie [M] to the converyor!")
- else
- user << "\blue [M] must be lying down to be tied to the converyor!"
- return
- M.buckled = src
- src.add_fingerprint(user)
- I:use(1)
- M.lying = 1
- return
-
- // else if no mob in loc, then allow coil to be placed
-
- else if(istype(I, /obj/item/weapon/wirecutters))
- var/mob/M = locate() in src.loc
- if(M && M.buckled == src)
- M.buckled = null
- src.add_fingerprint(user)
- if (M == user)
- src.visible_message("\blue [M] cuts \himself free from the conveyor.")
- else
- src.visible_message("\blue [M] had been cut free from the conveyor by [user].")
- return
-
- if(isrobot(user))
- return
-
- // otherwise drop and place on conveyor
- user.drop_item()
- if(I && I.loc) I.loc = src.loc
- return
-
-// attack with hand, move pulled object onto conveyor
-
-/obj/machinery/conveyor/attack_hand(mob/user as mob)
- if ((!( user.canmove ) || user.restrained() || !( user.pulling )))
- return
- if (user.pulling.anchored)
- return
- if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1))
- return
- if (ismob(user.pulling))
- var/mob/M = user.pulling
- M.stop_pulling()
- step(user.pulling, get_dir(user.pulling.loc, src))
- user.stop_pulling()
- else
- step(user.pulling, get_dir(user.pulling.loc, src))
- user.stop_pulling()
- return
-
-
-// make the conveyor broken
-// also propagate inoperability to any connected conveyor with the same ID
-/obj/machinery/conveyor/proc/broken()
- stat |= BROKEN
- update()
-
- var/obj/machinery/conveyor/C = locate() in get_step(src, basedir)
- if(C)
- C.set_operable(basedir, id, 0)
-
- C = locate() in get_step(src, turn(basedir,180))
- if(C)
- C.set_operable(turn(basedir,180), id, 0)
-
-
-//set the operable var if ID matches, propagating in the given direction
-
-/obj/machinery/conveyor/proc/set_operable(stepdir, match_id, op)
-
- if(id != match_id)
- return
- operable = op
-
- update()
- var/obj/machinery/conveyor/C = locate() in get_step(src, stepdir)
- if(C)
- C.set_operable(stepdir, id, op)
-
-/*
-/obj/machinery/conveyor/verb/destroy()
- set src in view()
- src.broken()
-*/
-
-/obj/machinery/conveyor/power_change()
- ..()
- update()
-
-
-// converyor diverter
-// extendable arm that can be switched so items on the conveyer are diverted sideways
-// situate in same turf as conveyor
-// only works if belts is running proper direction
-//
-//
-/obj/machinery/diverter
- icon = 'icons/obj/recycling.dmi'
- icon_state = "diverter0"
- name = "diverter"
- desc = "A diverter arm for a conveyor belt."
- anchored = 1
- layer = FLY_LAYER
- var/obj/machinery/conveyor/conv // the conveyor this diverter works on
- var/deployed = 0 // true if diverter arm is extended
- var/operating = 0 // true if arm is extending/contracting
- var/divert_to // the dir that diverted items will be moved
- var/divert_from // the dir items must be moving to divert
-
-
-// create a diverter
-// set up divert_to and divert_from directions depending on dir state
-/obj/machinery/diverter/New()
-
- ..()
-
- switch(dir)
- if(NORTH)
- divert_to = WEST // stuff will be moved to the west
- divert_from = NORTH // if entering from the north
- if(SOUTH)
- divert_to = EAST
- divert_from = NORTH
- if(EAST)
- divert_to = EAST
- divert_from = SOUTH
- if(WEST)
- divert_to = WEST
- divert_from = SOUTH
- if(NORTHEAST)
- divert_to = NORTH
- divert_from = EAST
- if(NORTHWEST)
- divert_to = NORTH
- divert_from = WEST
- if(SOUTHEAST)
- divert_to = SOUTH
- divert_from = EAST
- if(SOUTHWEST)
- divert_to = SOUTH
- divert_from = WEST
- spawn(2)
- // wait for map load then find the conveyor in this turf
- conv = locate() in src.loc
- if(conv) // divert_from dir must match possible conveyor movement
- if(conv.basedir != divert_from && conv.basedir != turn(divert_from,180) )
- del(src) // if no dir match, then delete self
- set_divert()
- update()
-
-// update the icon state depending on whether the diverter is extended
-/obj/machinery/diverter/proc/update()
- icon_state = "diverter[deployed]"
-
-// call to set the diversion vars of underlying conveyor
-/obj/machinery/diverter/proc/set_divert()
- if(conv)
- if(deployed)
- conv.divert = divert_to
- conv.divdir = divert_from
- else
- conv.divert= 0
-
-
-// *** TESTING click to toggle
-/obj/machinery/diverter/Click()
- toggle()
-
-
-// toggle between arm deployed and not deployed, showing animation
-//
-/obj/machinery/diverter/proc/toggle()
- if( stat & (NOPOWER|BROKEN))
- return
-
- if(operating)
- return
-
- use_power(50)
- operating = 1
- if(deployed)
- flick("diverter10",src)
- icon_state = "diverter0"
- sleep(10)
- deployed = 0
- else
- flick("diverter01",src)
- icon_state = "diverter1"
- sleep(10)
- deployed = 1
- operating = 0
- update()
- set_divert()
-
-// don't allow movement into the 'backwards' direction if deployed
-/obj/machinery/diverter/CanPass(atom/movable/O, var/turf/target)
- var/direct = get_dir(O, target)
- if(direct == divert_to) // prevent movement through body of diverter
- return 0
- if(!deployed)
- return 1
- return(direct != turn(divert_from,180))
-
-// don't allow movement through the arm if deployed
-/obj/machinery/diverter/CheckExit(atom/movable/O, var/turf/target)
- var/direct = get_dir(O, target)
- if(direct == turn(divert_to,180)) // prevent movement through body of diverter
- return 0
- if(!deployed)
- return 1
- return(direct != divert_from)
-
-
-
-
-
-// the conveyor control switch
-//
-//
-
-/obj/machinery/conveyor_switch
-
- name = "conveyor switch"
- desc = "A conveyor control switch."
- icon = 'icons/obj/recycling.dmi'
- icon_state = "switch-off"
- var/position = 0 // 0 off, -1 reverse, 1 forward
- var/last_pos = -1 // last direction setting
- var/operated = 1 // true if just operated
-
- var/id = "" // must match conveyor IDs to control them
-
- var/list/conveyors // the list of converyors that are controlled by this switch
- anchored = 1
-
-
-
-/obj/machinery/conveyor_switch/New()
- ..()
- update()
-
- spawn(5) // allow map load
- conveyors = list()
- for(var/obj/machinery/conveyor/C in world)
- if(C.id == id)
- conveyors += C
-
-// update the icon depending on the position
-
-/obj/machinery/conveyor_switch/proc/update()
- if(position<0)
- icon_state = "switch-rev"
- else if(position>0)
- icon_state = "switch-fwd"
- else
- icon_state = "switch-off"
-
-
-// timed process
-// if the switch changed, update the linked conveyors
-
-/obj/machinery/conveyor_switch/process()
- if(!operated)
- return
- operated = 0
-
- for(var/obj/machinery/conveyor/C in conveyors)
- C.operating = position
- C.setdir()
-
-// attack with hand, switch position
-/obj/machinery/conveyor_switch/attack_hand(mob/user)
- if(position == 0)
- if(last_pos < 0)
- position = 1
- last_pos = 0
- else
- position = -1
- last_pos = 0
- else
- last_pos = position
- position = 0
-
- operated = 1
- update()
-
- // find any switches with same id as this one, and set their positions to match us
- for(var/obj/machinery/conveyor_switch/S in world)
- if(S.id == src.id)
- S.position = position
- S.update()
diff --git a/code/unused/disease2/cureimplanter.dm b/code/unused/disease2/cureimplanter.dm
deleted file mode 100644
index 45064954561..00000000000
--- a/code/unused/disease2/cureimplanter.dm
+++ /dev/null
@@ -1,42 +0,0 @@
-/obj/item/weapon/cureimplanter
- name = "Hypospray injector"
- icon = 'icons/obj/items.dmi'
- icon_state = "implanter1"
- var/datum/disease2/resistance/resistance = null
- var/works = 0
- var/datum/disease2/disease/virus2 = null
- item_state = "syringe_0"
- throw_speed = 1
- throw_range = 5
- w_class = 2.0
-
-
-/obj/item/weapon/cureimplanter/attack(mob/target as mob, mob/user as mob)
- if(ismob(target))
- for(var/mob/O in viewers(world.view, user))
- if (target != user)
- O.show_message(text("\red [] is trying to inject [] with [src.name]!", user, target), 1)
- else
- O.show_message("\red [user] is trying to inject themselves with [src.name]!", 1)
- if(!do_mob(user, target,60)) return
-
-
- for(var/mob/O in viewers(world.view, user))
- if (target != user)
- O.show_message(text("\red [] injects [] with [src.name]!", user, target), 1)
- else
- O.show_message("\red [user] injects themself with [src.name]!", 1)
-
-
- var/mob/living/carbon/M = target
-
- if(works == 0 && prob(25))
- M.resistances2 += resistance
- if(M.virus2)
- M.virus2.cure_added(resistance)
- else if(works == 1)
- M.adjustToxLoss(rand(20,50))
- else if(works == 2)
- M.adjustToxLoss(rand(50,100))
- else if(works == 3)
- infect_virus2(M,virus2,1)
diff --git a/code/unused/disease2/curer.dm b/code/unused/disease2/curer.dm
deleted file mode 100644
index dab15f4967e..00000000000
--- a/code/unused/disease2/curer.dm
+++ /dev/null
@@ -1,154 +0,0 @@
-/obj/machinery/computer/curer
- name = "Cure Research Machine"
- icon = 'icons/obj/computer.dmi'
- icon_state = "dna"
-// brightnessred = 0
-// brightnessgreen = 2 //Used for multicoloured lighting on BS12
-// brightnessblue = 2
- var/curing
- var/virusing
- circuit = "/obj/item/weapon/circuitboard/mining"
-
- var/obj/item/weapon/virusdish/dish = null
-
-/obj/machinery/computer/curer/attackby(var/obj/I as obj, var/mob/user as mob)
- /*if(istype(I, /obj/item/weapon/screwdriver))
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- if(do_after(user, 20))
- if (src.stat & BROKEN)
- user << "\blue The broken glass falls out."
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- new /obj/item/weapon/shard( src.loc )
- var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A )
- for (var/obj/C in src)
- C.loc = src.loc
- A.circuit = M
- A.state = 3
- A.icon_state = "3"
- A.anchored = 1
- del(src)
- else
- user << "\blue You disconnect the monitor."
- var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
- var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A )
- for (var/obj/C in src)
- C.loc = src.loc
- A.circuit = M
- A.state = 4
- A.icon_state = "4"
- A.anchored = 1
- del(src)*/
- if(istype(I,/obj/item/weapon/virusdish))
- var/mob/living/carbon/c = user
- if(!dish)
-
- dish = I
- c.drop_item()
- I.loc = src
-
- //else
- src.attack_hand(user)
- return
-
-/obj/machinery/computer/curer/attack_ai(var/mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/curer/attack_paw(var/mob/user as mob)
-
- return src.attack_hand(user)
- return
-
-/obj/machinery/computer/curer/attack_hand(var/mob/user as mob)
- if(..())
- return
- user.machine = src
- var/dat
- if(curing)
- dat = "Antibody production in progress"
- else if(virusing)
- dat = "Virus production in progress"
- else if(dish)
- dat = "Virus dish inserted"
- if(dish.virus2)
- if(dish.growth >= 100)
- dat += "
Begin antibody production"
- dat += "
Begin virus production"
- else
- dat += "
Insufficent cells to attempt to create cure"
- else
- dat += "
Please check dish contents"
-
- dat += "
Eject disk"
- else
- dat = "Please insert dish"
-
- user << browse(dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
-/obj/machinery/computer/curer/process()
- ..()
-
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(500)
- src.updateDialog()
-
- if(curing)
- curing -= 1
- if(curing == 0)
- icon_state = "dna"
- if(dish.virus2)
- createcure(dish.virus2)
- if(virusing)
- virusing -= 1
- if(virusing == 0)
- icon_state = "dna"
- if(dish.virus2)
- createvirus(dish.virus2)
-
- return
-
-/obj/machinery/computer/curer/Topic(href, href_list)
- if(..())
- return
- if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
- usr.machine = src
-
- if (href_list["antibody"])
- curing = 30
- dish.growth -= 50
- src.icon_state = "dna"
- if (href_list["virus"])
- virusing = 30
- dish.growth -= 100
- src.icon_state = "dna"
- else if(href_list["eject"])
- dish.loc = src.loc
- dish = null
-
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-
-/obj/machinery/computer/curer/proc/createcure(var/datum/disease2/disease/virus2)
- var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc)
- implanter.resistance = new /datum/disease2/resistance(dish.virus2)
- if(probG("Virus curing",3))
- implanter.works = 0
- else
- implanter.works = rand(1,2)
- state("The [src.name] Buzzes")
-
-/obj/machinery/computer/curer/proc/createvirus(var/datum/disease2/disease/virus2)
- var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc)
- implanter.name = "Viral implanter (MAJOR BIOHAZARD)"
- implanter.virus2 = dish.virus2.getcopy()
- implanter.works = 3
- state("The [src.name] Buzzes")
-
-
-/obj/machinery/computer/curer/proc/state(var/msg)
- for(var/mob/O in hearers(src, null))
- O.show_message("\icon[src] \blue [msg]", 2)
diff --git a/code/unused/disease2/monkeydispensor.dm b/code/unused/disease2/monkeydispensor.dm
deleted file mode 100644
index 13d1b9806f6..00000000000
--- a/code/unused/disease2/monkeydispensor.dm
+++ /dev/null
@@ -1,30 +0,0 @@
-/obj/machinery/disease2/monkeycloner
- name = "Monkey dispensor"
- icon = 'icons/obj/cloning.dmi'
- icon_state = "pod_0"
- density = 1
- anchored = 1
-
- var/cloning = 0
-
-/obj/machinery/disease2/monkeycloner/attack_hand()
- if(!cloning)
- cloning = 150
-
- icon_state = "pod_g"
-
-/obj/machinery/disease2/monkeycloner/process()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(500)
- src.updateDialog()
-
- if(cloning)
- cloning -= 1
- if(!cloning)
- new /mob/living/carbon/monkey(src.loc)
- icon_state = "pod_0"
-
-
-
- return
diff --git a/code/unused/dna.dm b/code/unused/dna.dm
deleted file mode 100644
index 604acbefc6b..00000000000
--- a/code/unused/dna.dm
+++ /dev/null
@@ -1,962 +0,0 @@
-/proc/scram(n)
- var/t = ""
- var/p = null
- p = 1
- while(p <= n)
- t = text("[][]", t, rand(1, 9))
- p++
- return t
-
-/obj/machinery/computer/dna
- name = "DNA operations computer"
- desc = "A Computer used to advanced DNA stuff."
- icon_state = "dna"
- var/obj/item/weapon/card/data/scan = null
- var/obj/item/weapon/card/data/modify = null
- var/obj/item/weapon/card/data/modify2 = null
- var/mode = null
- var/temp = null
-
-/obj/machinery/computer/dna/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/dna/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/dna/attack_hand(mob/user as mob)
- if(..())
- return
- user.machine = src
- if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
- var/dat = text("Please Insert the cards into the slots
\n\t\t\t\tFunction Disk: []
\n\t\t\t\tTarget Disk: []
\n\t\t\t\tAux. Data Disk: []
\n\t\t\t\t\t(Not always used!)
\n\t\t\t\t[]", src, (src.scan ? text("[]", src.scan.name) : "----------"), src, (src.modify ? text("[]", src.modify.name) : "----------"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("Execute Function", src) : "No function disk inserted!"))
- if (src.temp)
- dat = text("[]
Clear Message", src.temp, src)
- user << browse(dat, "window=dna_comp")
- onclose(user, "dna_comp")
- else
- var/dat = text("[]
\n\t\t\t\t[] []
\n\t\t\t\t[] []
\n\t\t\t\t[] []
\n\t\t\t\t\t(Not always used!)
\n\t\t\t\t[]", stars("Please Insert the cards into the slots"), stars("Function Disk:"), src, (src.scan ? text("[]", src.scan.name) : "----------"), stars("Target Disk:"), src, (src.modify ? text("[]", src.modify.name) : "----------"), stars("Aux. Data Disk:"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("[]", src, stars("Execute Function")) : stars("No function disk inserted!")))
- if (src.temp)
- dat = text("[]
[]", stars(src.temp), src, stars("Clear Message"))
- user << browse(dat, "window=dna_comp")
- onclose(user, "dna_comp")
- return
-
-/obj/machinery/computer/dna/Topic(href, href_list)
- if(..())
- return
- if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
- usr.machine = src
- if (href_list["modify"])
- if (src.modify)
- src.modify.loc = src.loc
- src.modify = null
- src.mode = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/data))
- usr.drop_item()
- I.loc = src
- src.modify = I
- src.mode = null
- if (href_list["modify2"])
- if (src.modify2)
- src.modify2.loc = src.loc
- src.modify2 = null
- src.mode = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/data))
- usr.drop_item()
- I.loc = src
- src.modify2 = I
- src.mode = null
- if (href_list["scan"])
- if (src.scan)
- src.scan.loc = src.loc
- src.scan = null
- src.mode = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/data))
- usr.drop_item()
- I.loc = src
- src.scan = I
- src.mode = null
- if (href_list["clear"])
- src.temp = null
- if (href_list["execute"])
- if ((src.scan && src.scan.function))
- switch(src.scan.function)
- if("data_mutate")
- if (src.modify)
- if (!( findtext(src.scan.data, "-", 1, null) ))
- if ((src.modify.data && src.scan.data && length(src.modify.data) >= length(src.scan.data)))
- src.modify.data = text("[][]", src.scan.data, (length(src.modify.data) > length(src.scan.data) ? copytext(src.modify.data, length(src.scan.data) + 1, length(src.modify.data) + 1) : null))
- else
- src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)"
- else
- var/d = findtext(src.modify.data, "-", 1, null)
- var/t = copytext(src.modify.data, d + 1, length(src.modify.data) + 1)
- d = text2num(copytext(1, d, null))
- if ((d && t && src.modify.data && src.scan.data && length(src.modify.data) >= (length(t) + d - 1) ))
- src.modify.data = text("[][][]", copytext(src.modify.data, 1, d), t, (length(src.modify.data) > length(t) + d ? copytext(src.modify.data, length(t) + d, length(src.modify.data) + 1) : null))
- else
- src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)"
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("dna_seq")
- src.temp = "DNA Systems Help:\nHuman DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (28 chromosomes)\n\t\t5BDFE293BA5500F9FFFD500AAFFE\n\tStructural Enzymes:\n\t\tCDE375C9A6C25A7DBDA50EC05AC6CEB63\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\t493DB249EB6D13236100A37000800AB71\n\tSpecies/Genus Classification: Homo Sapien\n\nMonkey DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (16 chromosomes)\n\t\t2B6696D2B127E5A4\n\tStructural Enzymes:\n\t\tCDEAF5B90AADBC6BA8033DB0A7FD613FA\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\tC8FFFE7EC09D80AEDEDB9A5A0B4085B61\n\tSpecies/Genus Classification: Generic Monkey\n>"
- if("dna_help")
- src.temp = "DNA Systems Help:\nThe DNA systems consists 3 systems.\nI. DNA Scanner/Implanter - This system is slightly advanced to use. It accepts\n\t1 disk. Before you wish to run a function/program you must implant the\n\tdisk data into the temporary memory. Note that once this is done the disk can\n\tbe removed to place a data disk in.\nII. DNA computer - This is a simple yet fast computer that basically operates on data.\nIII. Restructurer - This device reorganizes the anatomical structure of the subject\n\taccording to the DNA sequences. Please note that it is illegal to perform a\n\ttransfer from one species to or from the Homo sapiens species but\n\thuman to human is acceptable under UNSD guidlines.\n\tNote: This machine is programmed to operate on specific preprogrammed species with\n\tspecialized anatomical blueprints hard coded into its databanks. It cannot operate\n\ton other species. (Current: Human, Monkey)\n\nData Disks:\n\tThese run on 2 (or 3) types: DNA scanner program disks and data modification\nfunctions (and disk modification functions)\n\nDisk-Copy\n\tThis erases the target disk and completely copies the data from the aux. disk.\nDisk-Erase\n\tThis erases everything on the target disk.\nData-Clear\n\tThis erases (clears) only the data.\n\nData-Trunicate\n\tThis removes data from the target disk (parameters gathered from data slot on target\n\tdisk). This fuction has 4 modes (a,b,c,default) defined by this way. (mode id)(#)\n\ta - This cuts # data from the end. (ex a1 on ABCD = ABC)\n\tb - This cuts # data from the beginning. (ex b1 on ABCD = BCD)\n\tc - This limits the data from the end. (ex c1 on ABCD = A)\n\tdefault - This limits the data from the end. (ex 1 on ABCD = D)\nData-Add\n\tThis adds thedata on the aux. disk to the data on the target disk.\nData-Sramble\n\tThis scrambles the data on the target disk. The length is equal to\n\tthe length of the original data.\nData-Input\n\tThis lets you input data into the data slot of any data disk.\n\tNote: This doesn't work only on storage.\nData-Mutate\n\tThis basically inserts text. You follow this format:\n\tpos-text (or just text for automatic pos 1)\n\tie 2-IVE on FOUR yields FIVE\n"
- if("data_add")
- if (src.modify)
- if (src.modify2)
- if ((src.modify.data && src.modify2.data))
- src.modify.data += src.modify2.data
- src.temp = text("Done!
New Data:
[]", src.modify.data)
- else
- src.temp = "Cannot read data! (may be null)"
- else
- src.temp = "Disk Failure: Cannot read aux. data disk!"
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("data_scramble")
- if (src.modify)
- if (length(text("[]", src.modify.data)) >= 1)
- src.modify.data = scram(length(text("[]", src.modify.data)))
- src.temp = text("Data scrambled: []", src.modify.data)
- else
- src.temp = "No data to scramble"
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("data_input")
- if (src.modify)
- var/dat = input(usr, ">", text("[]", src.name), null) as text
- var/s = src.scan
- var/m = src.modify
- if ((usr.stat || usr.restrained() || src.modify != m || src.scan != s))
- return
- if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)))
- src.modify.data = dat
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("disk_copy")
- if (src.modify)
- if (src.modify2)
- src.modify.function = src.modify2.function
- src.modify.data = src.modify2.data
- src.modify.special = src.modify2.special
- src.temp = "All disk data/programs copied."
- else
- src.temp = "Disk Failure: Cannot read aux. data disk!"
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("disk_dis")
- if (src.modify)
- src.temp = text("Function: [][]
Data: []", src.modify.function, (src.modify.special ? text("-[]", src.modify.special) : null), src.modify.data)
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("disk_erase")
- if (src.modify)
- src.modify.data = null
- src.modify.function = "storage"
- src.modify.special = null
- src.temp = "All Disk contents deleted."
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("data_clear")
- if (src.modify)
- src.modify.data = null
- src.temp = "Disk data cleared."
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- if("data_trun")
- if (src.modify)
- if ((src.modify.data && src.scan.data))
- var/l1 = length(src.modify.data)
- var/l2 = max(round(text2num(src.scan.data)), 1)
- switch(copytext(src.modify.data, 1, 2))
- if("a")
- if (l1 > l2)
- src.modify.data = copytext(src.modify.data, 1, (l1 - l2) + 1)
- else
- src.modify.data = ""
- src.temp = text("Done!
New Data:
[]", src.modify.data)
- if("b")
- if (l1 > l2)
- src.modify.data = copytext(src.modify.data, l2, l1 + 1)
- else
- src.modify.data = ""
- src.temp = text("Done!
New Data:
[]", src.modify.data)
- if("c")
- if (l1 >= l2)
- src.modify.data = copytext(src.modify.data, l1 - l2, l1 + 1)
- src.temp = text("Done!
New Data:
[]", src.modify.data)
- else
- if (l1 >= l2)
- src.modify.data = copytext(src.modify.data, 1, l2 + 1)
- src.temp = text("Done!
New Data:
[]", src.modify.data)
- else
- src.temp = "Cannot read data! (may be null and note that function data slot is used instead of aux disk!!)"
- else
- src.temp = "Disk Failure: Cannot read target disk!"
- else
- else
- src.temp = "System Failure: Cannot read disk function!"
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-/obj/machinery/computer/dna/ex_act(severity)
- switch(severity)
- if(1.0)
- //SN src = null
- del(src)
- return
- if(2.0)
- if (prob(50))
- //SN src = null
- del(src)
- return
- else
- return
-
-/obj/machinery/dna_scanner/allow_drop()
- return 0
-
-/obj/machinery/dna_scanner/relaymove(mob/user as mob)
- if (user.stat)
- return
- src.go_out()
- return
-
-/obj/machinery/dna_scanner/verb/eject()
- set src in oview(1)
-
- if (usr.stat != 0)
- return
- src.go_out()
- add_fingerprint(usr)
- return
-
-/obj/machinery/dna_scanner/verb/move_inside()
- set src in oview(1)
-
- if (usr.stat != 0)
- return
- if (src.occupant)
- usr << "\blue The scanner is already occupied!"
- return
- if (usr.abiotic())
- usr << "\blue Subject cannot have abiotic items on."
- return
- usr.stop_pulling()
- usr.client.perspective = EYE_PERSPECTIVE
- usr.client.eye = src
- usr.loc = src
- src.occupant = usr
- src.icon_state = "scanner_1"
- for(var/obj/O in src)
- //O = null
- del(O)
- //Foreach goto(124)
- src.add_fingerprint(usr)
- return
-
-/obj/machinery/dna_scanner/attackby(obj/item/weapon/grab/G as obj, user as mob)
- if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) )))
- return
- if (src.occupant)
- user << "\blue The scanner is already occupied!"
- return
- if (G.affecting.abiotic())
- user << "\blue Subject cannot have abiotic items on."
- return
- var/mob/M = G.affecting
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
- M.loc = src
- src.occupant = M
- src.icon_state = "scanner_1"
- for(var/obj/O in src)
- O.loc = src.loc
- //Foreach goto(154)
- src.add_fingerprint(user)
- //G = null
- del(G)
- return
-
-/obj/machinery/dna_scanner/proc/go_out()
- if ((!( src.occupant ) || src.locked))
- return
- for(var/obj/O in src)
- O.loc = src.loc
- //Foreach goto(30)
- if (src.occupant.client)
- src.occupant.client.eye = src.occupant.client.mob
- src.occupant.client.perspective = MOB_PERSPECTIVE
- src.occupant.loc = src.loc
- src.occupant = null
- src.icon_state = "scanner_0"
- return
-
-/obj/machinery/dna_scanner/ex_act(severity)
- switch(severity)
- if(1.0)
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- //Foreach goto(35)
- //SN src = null
- del(src)
- return
- if(2.0)
- if (prob(50))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- //Foreach goto(108)
- //SN src = null
- del(src)
- return
- if(3.0)
- if (prob(25))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- //Foreach goto(181)
- //SN src = null
- del(src)
- return
- else
- return
-
-
-/obj/machinery/dna_scanner/blob_act()
- if(prob(75))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- del(src)
-
-/obj/machinery/scan_console/ex_act(severity)
-
- switch(severity)
- if(1.0)
- //SN src = null
- del(src)
- return
- if(2.0)
- if (prob(50))
- //SN src = null
- del(src)
- return
- else
- return
-
-/obj/machinery/scan_console/blob_act()
-
- if(prob(75))
- del(src)
-
-/obj/machinery/scan_console/power_change()
- if(stat & BROKEN)
- icon_state = "broken"
- else if(powered())
- icon_state = initial(icon_state)
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "c_unpowered"
- stat |= NOPOWER
-
-/obj/machinery/scan_console/New()
- ..()
- spawn( 5 )
- src.connected = locate(/obj/machinery/dna_scanner, get_step(src, WEST))
- return
- return
-
-/obj/machinery/scan_console/process()
- if(stat & (NOPOWER|BROKEN))
- return
- use_power(250)
-
- var/mob/M
- if (!( src.status ))
- return
- if (!( src.func ))
- src.temp = "No function loaded into memory core!"
- src.status = null
- if ((src.connected && src.connected.occupant))
- M = src.connected.occupant
- if (src.status == "load")
- src.prog_p1 = null
- src.prog_p2 = null
- src.prog_p3 = null
- src.prog_p4 = null
- switch(src.func)
- if("dna_trun")
- if (src.data)
- src.prog_p1 = copytext(src.data, 1, 2)
- src.prog_p2 = text2num(src.data)
- src.prog_p3 = src.special
- src.status = "dna_trun"
- src.temp = "Executing trunication function on occupant."
- else
- src.temp = "No data implanted in core memory."
- src.status = null
- if("dna_scan")
- if (src.special)
- if (src.scan)
- if (istype(M, /mob))
- switch(src.special)
- if("UI")
- src.temp = text("Scan Complete:
Data downloaded to disk!
Unique Identifier: []", M.primary.uni_identity)
- src.scan.data = M.primary.uni_identity
- if("SE")
- src.temp = text("Scan Complete:
Data downloaded to disk!
Structural Enzymes: []", M.primary.struc_enzyme)
- src.scan.data = M.primary.struc_enzyme
- if("UE")
- src.temp = text("Scan Complete:
Data downloaded to disk!
Used Enzynmes: []", M.primary.use_enzyme)
- src.scan.data = M.primary.use_enzyme
- if("SI")
- src.temp = text("Scan Complete:
Data downloaded to disk!
Species Identifier: []", M.primary.spec_identity)
- src.scan.data = M.primary.spec_identity
- else
- else
- src.temp = "No occupant to scan!"
- else
- src.temp = "Error: No disk to upload data to."
- else
- src.temp = "Error: Function program errors."
- src.status = null
- if("dna_replace")
- if ((src.data && src.special))
- src.prog_p1 = src.special
- src.prog_p2 = src.data
- src.status = "dna_replace"
- src.temp = "Executing repalcement function on occupant."
- else
- src.temp = "Error: No DNA data loaded into core or function program errors."
- src.status = null
- if("dna_add")
- if ((src.data && src.special))
- src.prog_p1 = src.special
- src.prog_p2 = src.data
- src.status = "dna_add"
- src.temp = "Executing addition function on occupant."
- else
- src.temp = "Error: No DNA data loaded into core or function program errors."
- src.status = null
- else
- src.temp = "Cannot execute program!"
- src.status = null
- else
- if (src.status == "dna_trun")
- if (istype(M, /mob))
- var/t = null
- switch(src.prog_p3)
- if("UI")
- t = M.primary.uni_identity
- if("SE")
- t = M.primary.struc_enzyme
- if("UE")
- t = M.primary.use_enzyme
- if("SI")
- t = M.primary.spec_identity
- else
- if (!( src.prog_p4 ))
- switch(src.prog_p1)
- if("a")
- src.prog_p4 = length(t)
- if("b")
- src.prog_p4 = 1
- else
- else
- if (src.prog_p1 == "a")
- src.prog_p4--
- else
- if (src.prog_p1 == "b")
- src.prog_p4--
- switch(src.prog_p1)
- if("a")
- if (src.prog_p4 <= 0)
- src.temp = "Trunication complete"
- src.status = null
- else
- t = copytext(t, 1, length(t))
- src.temp = text("Trunicating []'s DNA sequence...
[]
Status: [] units left.
Emergency Abort", M.name, t, src.prog_p4, src)
- if("b")
- if (src.prog_p4 <= 0)
- src.temp = "Trunication complete"
- src.status = null
- else
- t = copytext(t, 2, length(t) + 1)
- src.temp = text("Trunicating []'s DNA sequence...
[]
Status: [] units left.
Emergency Abort", M.name, t, src.prog_p4, src)
- if("c")
- if (length(t) <= src.prog_p2)
- src.temp = "Limitation complete"
- src.status = null
- else
- t = copytext(t, 1, length(t))
- src.temp = text("Limiting []'s DNA sequence...
[]
Status: [] units converting to [] units.
Emergency Abort", M.name, t, length(t), src.prog_p2, src)
- else
- if (length(t) <= src.prog_p2)
- src.temp = "Limitation complete"
- src.status = null
- else
- t = copytext(t, 2, length(t) + 1)
- src.temp = text("Limiting []'s DNA sequence...
[]
Status: [] units converting to [] units.
Emergency Abort", M.name, t, length(t), src.prog_p2, src)
- switch(src.prog_p3)
- if("UI")
- M.primary.uni_identity = t
- if("SE")
- M.primary.struc_enzyme = t
- if("UE")
- M.primary.use_enzyme = t
- if("SI")
- M.primary.spec_identity = t
- else
- else
- src.temp = "Process terminated due to lack of occupant in DNA chamber."
- src.status = null
- else
- if (src.status == "dna_replace")
- if (istype(M, /mob))
- var/t = null
- switch(src.prog_p1)
- if("UI")
- t = M.primary.uni_identity
- if("SE")
- t = M.primary.struc_enzyme
- if("UE")
- t = M.primary.use_enzyme
- if("SI")
- t = M.primary.spec_identity
- else
- if (!( src.prog_p4 ))
- src.prog_p4 = 1
- else
- src.prog_p4++
- if ((src.prog_p4 > length(t) || src.prog_p4 > length(src.prog_p2)))
- src.temp = "Replacement complete"
- src.status = null
- else
- t = text("[][][]", copytext(t, 1, src.prog_p4), copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1), (src.prog_p4 < length(t) ? copytext(t, src.prog_p4 + 1, length(t) + 1) : null))
- src.temp = text("Replacing []'s DNA sequence...
[]
Target: []
Status: At position []
Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src)
- switch(src.prog_p1)
- if("UI")
- M.primary.uni_identity = t
- if("SE")
- M.primary.struc_enzyme = t
- if("UE")
- M.primary.use_enzyme = t
- if("SI")
- M.primary.spec_identity = t
- else
- else
- src.temp = "Process terminated due to lack of occupant in DNA chamber."
- src.status = null
- else
- if (src.status == "dna_add")
- if (istype(M, /mob))
- var/t = null
- switch(src.prog_p1)
- if("UI")
- t = M.primary.uni_identity
- if("SE")
- t = M.primary.struc_enzyme
- if("UE")
- t = M.primary.use_enzyme
- if("SI")
- t = M.primary.spec_identity
- else
- if (!( src.prog_p4 ))
- src.prog_p4 = 1
- else
- src.prog_p4++
- if (src.prog_p4 > length(src.prog_p2))
- src.temp = "Addition complete"
- src.status = null
- else
- t = text("[][]", t, copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1))
- src.temp = text("Adding to []'s DNA sequence...
[]
Adding: []
Position: []
Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src)
- switch(src.prog_p1)
- if("UI")
- M.primary.uni_identity = t
- if("SE")
- M.primary.struc_enzyme = t
- if("UE")
- M.primary.use_enzyme = t
- if("SI")
- M.primary.spec_identity = t
- else
- else
- src.temp = "Process terminated due to lack of occupant in DNA chamber."
- src.status = null
- else
- src.status = null
- src.temp = "Unknown system error."
- src.updateDialog()
- return
-
-/obj/machinery/scan_console/attack_paw(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/scan_console/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/scan_console/attack_hand(user as mob)
- if(..())
- return
- var/dat
- if (src.temp)
- dat = text("[]
Clear Message", src.temp, src)
- else
- if (src.connected)
- var/mob/occupant = src.connected.occupant
- dat = "Occupant Statistics:
"
- if (occupant)
- var/t1
- switch(occupant.stat)
- if(0)
- t1 = "Conscious"
- if(1)
- t1 = "Unconscious"
- else
- t1 = "*dead*"
- dat += text("[]\tHealth %: [] ([])
", (occupant.health > 50 ? "" : ""), occupant.health, t1)
- else
- dat += "The scanner is empty.
"
- if (!( src.connected.locked ))
- dat += text("Lock (Unlocked)
", src)
- else
- dat += text("Unlock (Locked)
", src)
- dat += text("Disk: []
\n[]
\n[]
", src,
- (src.scan ? text("[]", src.scan.name) : "----------"),
- (src.scan ? text("Upload Data", src) : "No disk to upload"),
- ((src.data || src.func || src.special) ? text("Clear Data
Execute Data
Function Type: [][]
Data: []", src, src, src.func, (src.special ? text("-[]", src.special) : null), src.data) : "No data uploaded"))
- dat += text("
Close", user)
- user << browse(dat, "window=scanner;size=400x500")
- onclose(user, "scanner")
- return
-
-/obj/machinery/scan_console/Topic(href, href_list)
- if(..())
- return
- if ((usr.contents.Find(src) || (get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai)))
- usr.machine = src
- if (href_list["locked"])
- if ((src.connected && src.connected.occupant))
- src.connected.locked = !( src.connected.locked )
- if (href_list["scan"])
- if (src.scan)
- src.scan.loc = src.loc
- src.scan = null
- else
- var/obj/item/I = usr.equipped()
- if (istype(I, /obj/item/weapon/card/data))
- usr.drop_item()
- I.loc = src
- src.scan = I
- if (href_list["u_dat"])
- if ((src.scan && !( src.status )))
- if ((src.scan.function && src.scan.function != "storage"))
- src.func = src.scan.function
- src.special = src.scan.special
- if (src.scan.data)
- src.data = src.scan.data
- else
- src.temp = "No disk found or core data access lock out!"
- if (href_list["c_dat"])
- if (!src.status)
- src.func = null
- src.data = null
- src.special = null
- else
- src.temp = "No disk found or core data access lock out!"
- if (href_list["clear"])
- src.temp = null
- if (href_list["abort"])
- src.status = null
- if (href_list["e_dat"])
- if (!( src.status ))
- src.status = "load"
- src.temp = "Loading..."
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-/obj/machinery/restruct/allow_drop()
- return 0
-
-/obj/machinery/restruct/verb/eject()
- set src in oview(1)
-
- if (usr.stat != 0)
- return
- src.go_out()
- add_fingerprint(usr)
- return
-
-/obj/machinery/restruct/verb/operate()
- set src in oview(1)
-
- src.add_fingerprint(usr)
- if ((src.occupant && src.occupant.primary))
- switch(src.occupant.primary.spec_identity)
- if("5BDFE293BA5500F9FFFD500AAFFE")
- if (!istype(src.occupant, /mob/living/carbon/human))
- for(var/obj/O in src.occupant)
- del(O)
-
- var/mob/living/carbon/human/O = new /mob/living/carbon/human( src )
- if(ticker.killer == src.occupant)
- O.memory = src.occupant.memory
- ticker.killer = O
- var/mob/M = src.occupant
- O.start = 1
- O.primary = M.primary
- M.primary = null
- var/t1 = hex2num(copytext(O.primary.uni_identity, 25, 28))
- if (t1 < 125)
- O.gender = MALE
- else
- O.gender = FEMALE
- M << "Genetic Transversal Complete!"
- if (M.client)
- M << "Transferring..."
- M.client.mob = O
- O << "Neural Sequencing Complete!"
- O.loc = src
- src.occupant = O
- //M = null
- del(M)
- src.occupant = O
- src.occupant << "Done!"
- if("2B6696D2B127E5A4")
- if (!istype(src.occupant, /mob/living/carbon/monkey))
- for(var/obj/O in src.occupant)
- del(O)
- var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey(src)
- if(ticker.killer == src.occupant)
- O.memory = src.occupant.memory
- ticker.killer = O
- var/mob/M = src.occupant
- O.start = 1
- O.primary = M.primary
- M.primary = null
- M << "Genetic Transversal Complete!"
- if (M.client)
- M << "Transferring..."
- M.client.mob = O
- O << "Neural Sequencing Complete!"
- O.loc = src
- O << "Genetic Transversal Complete!"
- src.occupant = O
- del(M)
- O.name = text("monkey ([])", copytext(md5(src.occupant.primary.uni_identity), 2, 6))
- src.occupant << "Done!"
- else
- if (istype(src.occupant, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = src.occupant
-
- var/speak = (length(H.primary.struc_enzyme) >= 25 ? hex2num(copytext(H.primary.struc_enzyme, 22, 25)) : 9999)
- var/ears = (length(H.primary.struc_enzyme) >= 10 ? hex2num(copytext(H.primary.struc_enzyme, 7, 10)) : 9999)
- var/vision = (length(H.primary.struc_enzyme) >= 16 ? hex2num(copytext(H.primary.struc_enzyme, 13, 16)) : 1)
- var/mental1 = (length(H.primary.struc_enzyme) >= 31 ? hex2num(copytext(H.primary.struc_enzyme, 28, 31)) : 1)
- var/mental2 = (length(H.primary.struc_enzyme) >= 28 ? hex2num(copytext(H.primary.struc_enzyme, 25, 28)) : 1)
- var/speak2 = (length(H.primary.struc_enzyme) >= 22 ? hex2num(copytext(H.primary.struc_enzyme, 19, 22)) : 1)
- H.sdisabilities = 0
- H.disabilities = 0
- if (speak < 3776)
- H.disabilities = H.disabilities | 4
- else
- if (speak > 3776)
- H.sdisabilities = H.sdisabilities | 2
- if (speak2 < 2640)
- H.disabilities = H.disabilities | 16
- if (ears > 3226)
- H.sdisabilities = H.sdisabilities | 4
- if (vision < 1447)
- H.sdisabilities = H.sdisabilities | 1
- else
- if (vision > 1447)
- H.disabilities = H.disabilities | 1
- if (mental1 < 1742)
- H.disabilities = H.disabilities | 2
- if (mental2 < 1452)
- H.disabilities = H.disabilities | 8
- var/t1 = null
- if (length(H.primary.uni_identity) >= 20)
- t1 = copytext(H.primary.uni_identity, 19, 21)
- if (hex2num(t1) > 127)
- H.gender = FEMALE
- else
- H.gender = MALE
- else
- H.gender = NEUTER
- if (length(H.primary.uni_identity) >= 18)
- t1 = copytext(H.primary.uni_identity, 17, 19)
- H.ns_tone = hex2num(t1)
- H.ns_tone = -H.ns_tone + 35
- else
- H.ns_tone = 1
- H.ns_tone = -H.ns_tone + 35
- if (length(H.primary.uni_identity) >= 16)
- t1 = copytext(H.primary.uni_identity, 15, 17)
- H.b_eyes = hex2num(t1)
- else
- H.b_eyes = 255
- if (length(H.primary.uni_identity) >= 14)
- t1 = copytext(H.primary.uni_identity, 13, 15)
- H.g_eyes = hex2num(t1)
- else
- H.g_eyes = 255
- if (length(H.primary.uni_identity) >= 12)
- t1 = copytext(H.primary.uni_identity, 11, 13)
- H.r_eyes = hex2num(t1)
- else
- H.r_eyes = 255
- if (length(H.primary.uni_identity) >= 10)
- t1 = copytext(H.primary.uni_identity, 9, 11)
- H.nb_hair = hex2num(t1)
- else
- H.nb_hair = 255
- if (length(H.primary.uni_identity) >= 8)
- t1 = copytext(H.primary.uni_identity, 7, 9)
- H.ng_hair = hex2num(t1)
- else
- H.ng_hair = 255
- if (length(H.primary.uni_identity) >= 6)
- t1 = copytext(H.primary.uni_identity, 5, 7)
- H.nr_hair = hex2num(t1)
- else
- H.nr_hair = 255
- H.r_hair = H.nr_hair
- H.g_hair = H.ng_hair
- H.b_hair = H.nb_hair
- H.s_tone = H.ns_tone
- H.update_face()
- H.update_body()
-
- if (reg_dna[H.primary.uni_identity])
- H.real_name = reg_dna[H.primary.uni_identity]
- else
- var/i
- while (!i)
- var/randomname
- if (src.gender == MALE)
- randomname = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names)))
- else
- randomname = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))
- if (findname(randomname))
- continue
- else
- H.real_name = randomname
- i++
- reg_dna[H.primary.uni_identity] = H.real_name
- H << text("\red Your name is now [].", H.real_name)
- return
-
-/obj/machinery/restruct/verb/move_inside()
- set src in oview(1)
-
- if (usr.stat != 0)
- return
- if (src.occupant)
- usr << "\blue The scanner is already occupied!"
- return
- if (usr.abiotic())
- usr << "\blue Subject cannot have abiotic items on."
- return
- usr.stop_pulling()
- usr.client.perspective = EYE_PERSPECTIVE
- usr.client.eye = src
- usr.loc = src
- src.occupant = usr
- src.icon_state = "restruct_1"
- for(var/obj/O in src)
- //O = null
- del(O)
- //Foreach goto(124)
- src.add_fingerprint(usr)
- return
-
-/obj/machinery/restruct/relaymove(mob/user as mob)
- if (user.stat)
- return
- src.go_out()
- return
-
-/obj/machinery/restruct/attackby(obj/item/weapon/grab/G as obj, user as mob)
- if(..())
- return
- if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) )))
- return
- if (src.occupant)
- user << "\blue The machine is already occupied!"
- return
- if (G.affecting.abiotic())
- user << "\blue Subject cannot have abiotic items on."
- return
- var/mob/M = G.affecting
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
- M.loc = src
- src.occupant = M
- src.icon_state = "restruct_1"
- for(var/obj/O in src)
- O.loc = src.loc
- //Foreach goto(154)
- src.add_fingerprint(user)
- //G = null
- del(G)
- return
-
-/obj/machinery/restruct/proc/go_out()
- if ((!( src.occupant ) || src.locked))
- return
- for(var/obj/O in src)
- O.loc = src.loc
- //Foreach goto(30)
- if (src.occupant.client)
- src.occupant.client.eye = src.occupant.client.mob
- src.occupant.client.perspective = MOB_PERSPECTIVE
- src.occupant.loc = src.loc
- src.occupant = null
- src.icon_state = "restruct_0"
- return
-
-/obj/machinery/restruct/ex_act(severity)
- switch(severity)
- if(1.0)
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- del(src)
- return
- if(2.0)
- if (prob(50))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- del(src)
- return
- if(3.0)
- if (prob(25))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- del(src)
- return
- else
- return
-
-/obj/machinery/restruct/blob_act()
- if(prob(75))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- del(src)
\ No newline at end of file
diff --git a/code/unused/dna_mutations.dm b/code/unused/dna_mutations.dm
deleted file mode 100644
index 10671c634d7..00000000000
--- a/code/unused/dna_mutations.dm
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-/* NOTES:
-
-This system could be expanded to migrate all of our current mutations to. Maybe.
-
-
-*/
-
-
-/* /datum/mutations :
- *
- * A /datum representation of "hidden" mutations.
- *
- */
-/datum/mutations
-
- var/list/requirements = list() // list of randomly-genned requirements
- var/required = 1 // the number of requirements to generate
-
- var/list/races = list("Human") // list of races the mutation effect
-
- proc/get_mutation(var/mob/living/carbon/M) // Called when check_mutation() is successful
- ..()
-
- proc/check_mutation(var/mob/living/carbon/M) // Called in dna.dm, when a target's SE is modified
-
- if(! ("all" in races)) // "all" means it affects everyone!
- if(istype(M, /mob/living/carbon/human))
- if(! ("Human" in races))
- return
- if(istype(M, /mob/living/carbon/monkey))
- if(! ("monkey" in races))
- return
- // TODO: add more races maybe??
-
-
- var/passes = 0
- for(var/datum/mutationreq/require in requirements)
-
- var/se_block[] = getblockbuffer(M.dna.struc_enzymes, require.block, 3) // focus onto the block
- if(se_block.len == 3) // we want to make sure there are exactly 3 entries
-
- if(se_block[require.subblock] == require.reqID)
-
- passes++
-
- if(passes == required) // all requirements met
- get_mutation(M)
-
-
- Lasereyes
- /*
- Lets you shoot laser beams through your eyes. Fancy!
- */
- required = 2
-
- get_mutation(var/mob/living/carbon/M)
- M << "\blue You feel a searing heat inside your eyes!"
- M.mutations.Add(M_LASER)
-
- Healing
- /*
- Lets you heal other people, and yourself. But it doesn't let you heal dead people.
- */
- required = 2
-
- get_mutation(var/mob/living/carbon/M)
- M << "\blue You feel a pleasant warmth pulse throughout your body..."
- M.mutations.Add(HEAL)
-
-/* /datum/mutationreq :
- *
- * A /datum representation of a requirement in order for a mutation to happen.
- *
- */
-
-/datum/mutationreq
- var/block // The block to read
- var/subblock // The sub-block to read
- var/reqID // The required hexadecimal identifier to be equal to the sub-block being read.
-
-
-
-
-/*
-HEY: If you want to be able to get superpowers easily just uncomment this shit.
-mob/verb/checkmuts()
- for(var/datum/mutations/mut in global_mutations)
-
- for(var/datum/mutationreq/R in mut.requirements)
- src << "Block: [R.block]"
- src << "Sub-Block: [R.subblock]"
- src << "Required ID: [R.reqID]"
- src << ""
-
-mob/verb/editSE(t as text)
- src:dna:struc_enzymes = t
- domutcheck(src)
-
-*/
diff --git a/code/unused/filter_control.dm b/code/unused/filter_control.dm
deleted file mode 100644
index 2e7188bd104..00000000000
--- a/code/unused/filter_control.dm
+++ /dev/null
@@ -1,162 +0,0 @@
-// Currently only used to control /obj/machinery/inlet/filter
-// todo: expand to vent control as well?
-
-/obj/machinery/filter_control/New()
- ..()
- spawn(5) //wait for world
- for(var/obj/machinery/inlet/filter/F in machines)
- if(F.control == src.control)
- F.f_mask = src.f_mask
- desc = "A remote control for a filter: [control]"
-
-/obj/machinery/filter_control/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/filter_control/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/filter_control/attackby(obj/item/weapon/W, mob/user as mob)
- if(istype(W, /obj/item/weapon/detective_scanner))
- return ..()
- if(istype(W, /obj/item/weapon/screwdriver))
- src.add_fingerprint(user)
- user.show_message(text("\red Now [] the panel...", (src.locked) ? "unscrewing" : "reattaching"), 1)
- sleep(30)
- src.locked =! src.locked
- src.updateicon()
- return
- if(istype(W, /obj/item/weapon/wirecutters) && !src.locked)
- stat ^= BROKEN
- src.add_fingerprint(user)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red [] has []activated []!", user, (stat&BROKEN) ? "de" : "re", src), 1)
- src.updateicon()
- return
- if(istype(W, /obj/item/weapon/card/emag) && !emagged)
- emagged++
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red [] has shorted out the []'s access system with an electromagnetic card!", user, src), 1)
- src.updateicon()
- return src.attack_hand(user)
- return src.attack_hand(user)
-
-/obj/machinery/filter_control/process()
- if(!(stat & NOPOWER))
- use_power(5,ENVIRON)
- AutoUpdateAI(src)
- src.updateUsrDialog()
- src.updateicon()
-
-/obj/machinery/filter_control/attack_hand(mob/user as mob)
- if(stat & NOPOWER)
- user << browse(null, "window=filter_control")
- user.machine = null
- return
- if(user.stat || user.lying)
- return
- if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon/ai))
- return 0
-
- var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O")
- var/dat
- user.machine = src
-
- var/IGoodConnection = 0
- var/IBadConnection = 0
-
- for(var/obj/machinery/inlet/filter/F in machines)
- if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN)))
- IGoodConnection++
- else if(F.control == src.control)
- IBadConnection++
- var/ITotalConnections = IGoodConnection+IBadConnection
-
- if(ITotalConnections && !(stat & BROKEN)) //ugly
- dat += "Connection status: Inlets:[ITotalConnections]/[IGoodConnection]
\n Control ID: [control]
\n"
- else
- dat += "No Connections Detected!
\n Control ID: [control]
\n"
- if(!stat & BROKEN)
- for (var/i = 1; i <= gases.len; i++)
- dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Siphoning" : "Passing"]
\n"
- else
- dat += "Warning! Severe Internal Memory Corruption!
\n
\nConsult a qualified station technician immediately!
\n"
- dat += "
\nError codes: 0x0000001E 0x0000007B
\n"
-
- dat += "
\nClose
\n"
- user << browse(dat, "window=filter_control;size=300x225")
- onclose(user, "filter_control")
-/obj/machinery/filter_control/Topic(href, href_list)
- if (href_list["close"])
- usr << browse(null, "window=filter_control;")
- usr.machine = null
- return //Who cares if we're dead or whatever let us close the fucking window
- if(..())
- return
- if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf)))
- usr.machine = src
- if (src.allowed(usr) || src.emagged && !(stat & BROKEN))
- if (href_list["tg"]) //someone modified the html so I added a check here
- // toggle gas
- src.f_mask ^= text2num(href_list["tg"])
- for(var/obj/machinery/inlet/filter/FI in machines)
- if(FI.control == src.control)
- FI.f_mask ^= text2num(href_list["tg"])
- else
- usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)")
- AutoUpdateAI(src)
- src.updateUsrDialog()
- src.add_fingerprint(usr)
- else
- usr << browse(null, "window=filter_control")
- usr.machine = null
- return
-
-/obj/machinery/filter_control/proc/updateicon()
- overlays.Cut()
- if(stat & NOPOWER)
- icon_state = "filter_control-nopower"
- return
- icon_state = "filter_control"
- if(src.locked && (stat & BROKEN))
- overlays += image('icons/obj/stationobjs.dmi', "filter_control00")
- return
- else if(!src.locked)
- icon_state = "filter_control-unlocked"
- if(stat & BROKEN)
- overlays += image('icons/obj/stationobjs.dmi', "filter_control-wirecut")
- overlays += image('icons/obj/stationobjs.dmi', "filter_control00")
- return
-
- var/GoodConnection = 0
- for(var/obj/machinery/inlet/filter/F in machines)
- if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN)))
- GoodConnection++
- break
-
- if(GoodConnection && src.f_mask)
- overlays += image('icons/obj/stationobjs.dmi', "filter_control1")
- else if(GoodConnection)
- overlays += image('icons/obj/stationobjs.dmi', "filter_control10")
- else if(src.f_mask)
- overlays += image('icons/obj/stationobjs.dmi', "filter_control0")
- else
- overlays += image('icons/obj/stationobjs.dmi', "filter_control00")
-
- if (src.f_mask & (GAS_N2O|GAS_PL))
- src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-tox")
- if (src.f_mask & GAS_O2)
- src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-o2")
- if (src.f_mask & GAS_N2)
- src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-n2")
- if (src.f_mask & GAS_CO2)
- src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-co2")
- return
-
-/obj/machinery/filter_control/power_change()
- if(powered(ENVIRON))
- stat &= ~NOPOWER
- else
- stat |= NOPOWER
- spawn(rand(1,15))
- src.updateicon()
- return
\ No newline at end of file
diff --git a/code/unused/game_kit.dm b/code/unused/game_kit.dm
deleted file mode 100644
index 3a96d168788..00000000000
--- a/code/unused/game_kit.dm
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-CONTAINS:
-THAT STUPID GAME KIT
-Which I am commenting out /N
-*/
-/*
-/obj/item/weapon/game_kit/New()
- src.board_stat = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
- src.selected = "CR"
-
-/obj/item/weapon/game_kit/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/weapon/game_kit/MouseDrop(mob/user as mob)
- if (user == usr && !usr.restrained() && !usr.stat && (usr.contents.Find(src) || in_range(src, usr)))
- if (usr.hand)
- if (!usr.l_hand)
- spawn (0)
- src.attack_hand(usr, 1, 1)
- else
- if (!usr.r_hand)
- spawn (0)
- src.attack_hand(usr, 0, 1)
-
-/obj/item/weapon/game_kit/proc/update()
- var/dat = text("Game Board
[] remove
", src, (src.selected ? text("Selected: []", src.selected) : "Nothing Selected"), src)
- for (var/y = 1 to 8)
- dat += ""
-
- for (var/x = 1 to 8)
- var/color = (y + x) % 2 ? "#ffffff" : "#999999"
- var/piece = copytext(src.board_stat, ((y - 1) * 8 + x) * 2 - 1, ((y - 1) * 8 + x) * 2 + 1)
-
- dat += "| "
- dat += " | "
- if (piece != "BB")
- dat += " "
- else
- dat += " "
- dat += " | "
-
- dat += "
"
-
- dat += "
Chips:
"
- for (var/piece in list("CB", "CR"))
- dat += "
"
-
- dat += "
Chess pieces:
"
- for (var/piece in list("WP", "WK", "WQ", "WI", "WN", "WR"))
- dat += "
"
- dat += "
"
- for (var/piece in list("BP", "BK", "BQ", "BI", "BN", "BR"))
- dat += "
"
- src.data = dat
-
-/obj/item/weapon/game_kit/attack_hand(mob/user as mob, unused, flag)
-
- if (flag)
- return ..()
- else
- user.machine = src
- if (!( src.data ))
- update()
- user << browse(src.data, "window=game_kit")
- onclose(user, "game_kit")
- return
- return
-
-/obj/item/weapon/game_kit/Topic(href, href_list)
- ..()
- if ((usr.stat || usr.restrained()))
- return
-
- if (usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))
- if (href_list["s_piece"])
- src.selected = href_list["s_piece"]
- else if (href_list["mode"])
- if (href_list["mode"] == "remove")
- src.selected = "remove"
- else
- src.selected = null
- else if (href_list["s_board"])
- if (!( src.selected ))
- src.selected = href_list["s_board"]
- else
- var/tx = text2num(copytext(href_list["s_board"], 1, 2))
- var/ty = text2num(copytext(href_list["s_board"], 3, 4))
- if ((copytext(src.selected, 2, 3) == " " && length(src.selected) == 3))
- var/sx = text2num(copytext(src.selected, 1, 2))
- var/sy = text2num(copytext(src.selected, 3, 4))
- var/place = ((sy - 1) * 8 + sx) * 2 - 1
- src.selected = copytext(src.board_stat, place, place + 2)
- if (place == 1)
- src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129))
- else
- if (place == 127)
- src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127))
- else
- if (place)
- src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129))
- place = ((ty - 1) * 8 + tx) * 2 - 1
- if (place == 1)
- src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129))
- else
- if (place == 127)
- src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected)
- else
- if (place)
- src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129))
- src.selected = null
- else
- if (src.selected == "remove")
- var/place = ((ty - 1) * 8 + tx) * 2 - 1
- if (place == 1)
- src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129))
- else
- if (place == 127)
- src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127))
- else
- if (place)
- src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129))
- else
- if (length(src.selected) == 2)
- var/place = ((ty - 1) * 8 + tx) * 2 - 1
- if (place == 1)
- src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129))
- else
- if (place == 127)
- src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected)
- else
- if (place)
- src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129))
- src.add_fingerprint(usr)
- update()
- for(var/mob/M in viewers(1, src))
- if ((M.client && M.machine == src))
- src.attack_hand(M)
-*/
\ No newline at end of file
diff --git a/code/unused/gamemodes/ctf.dm b/code/unused/gamemodes/ctf.dm
deleted file mode 100644
index 5a464c0ce26..00000000000
--- a/code/unused/gamemodes/ctf.dm
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
-/datum/game_mode/ctf
- name = "ctf"
- config_tag = "ctf"
-
-/datum/game_mode/ctf/announce()
- world << "The current game mode is - Capture the Flag!"
- world << "Capture the other teams flag and bring it back to your base!"
- world << "Respawn is on"
-
-/datum/game_mode/ctf/pre_setup()
-
- config.allow_ai = 0
- var/list/mobs = list()
- var/total_mobs
- for(var/mob/living/carbon/human/M in world)
- if (M.client)
- mobs += M
- total_mobs++
-
- var/obj/R = locate("landmark*Red-Spawn")
- var/obj/G = locate("landmark*Green-Spawn")
-
- var/mob_check
- for(var/mob/living/carbon/human/M in mobs)
- if(!M)
- continue
- mob_check++
- if(mob_check <= total_mobs/2) //add to red team else to green
- spawn()
- if(M.client)
- M << "You are in the Red Team!"
- del(M.wear_suit)
- M.w_uniform = new /obj/item/clothing/under/color/red(M)
- M.w_uniform.layer = 20
- del(M.shoes)
- M.wear_suit = new /obj/item/clothing/suit/armor/tdome/red(M)
- M.wear_suit.layer = 20
- M.shoes = new /obj/item/clothing/shoes/black(M)
- M.shoes.layer = 20
- M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M)
- M.wear_mask.layer = 20
- M.gloves = new /obj/item/clothing/gloves/swat(M)
- M.gloves.layer = 20
- M.glasses = new /obj/item/clothing/glasses/thermal(M)
- M.glasses.layer = 20
- var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M)
- H.set_frequency(1465)
- M.w_radio = H
- M.w_radio.layer = 20
- var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M)
- M.back = O
- M.back.layer = 20
- M.internal = O
-
- del(M.wear_id)
- var/obj/item/weapon/card/id/W = new(M)
- W.name = "[M.real_name]'s ID card (Red Team)"
- W.access = access_red
- W.assignment = "Red Team"
- W.registered_name = M.real_name
- M.wear_id = W
- M.wear_id.layer = 20
- if(R)
- M.loc = R.loc
- else
- world << "No red team spawn point detected"
- M.client.team = "Red"
- else
- spawn()
- if(M.client)
- M << "You are in the Green Team!"
- del(M.wear_suit)
- M.w_uniform = new /obj/item/clothing/under/color/green(M)
- M.w_uniform.layer = 20
- del(M.shoes)
- M.wear_suit = new /obj/item/clothing/suit/armor/tdome/green(M)
- M.wear_suit.layer = 20
- M.shoes = new /obj/item/clothing/shoes/black(M)
- M.shoes.layer = 20
- M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M)
- M.wear_mask.layer = 20
- M.gloves = new /obj/item/clothing/gloves/swat(M)
- M.gloves.layer = 20
- M.glasses = new /obj/item/clothing/glasses/thermal(M)
- M.glasses.layer = 20
- var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M)
- H.set_frequency(1449)
- M.w_radio = H
- M.w_radio.layer = 20
- var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M)
- M.back = O
- M.back.layer = 20
- M.internal = O
-
- del(M.wear_id)
- var/obj/item/weapon/card/id/W = new(M)
- W.name = "[M.real_name]'s ID card (Green Team)"
- W.access = access_green
- W.assignment = "Green Team"
- W.registered_name = M.real_name
- M.wear_id = W
- M.wear_id.layer = 20
- if(G)
- M.loc = G.loc
- else
- world << "No green team spawn point detected"
- M.client.team = "Green"
-
-
-/datum/game_mode/ctf/post_setup()
- abandon_allowed = 1
- setup_game()
-
- spawn (50)
- var/obj/L = locate("landmark*Red-Flag")
- if (L)
- new /obj/item/weapon/ctf_flag/red(L.loc)
- else
- world << "No red flag spawn point detected"
-
- L = locate("landmark*Green-Flag")
- if (L)
- new /obj/item/weapon/ctf_flag/green(L.loc)
- else
- world << "No green flag spawn point detected"
-
- L = locate("landmark*The-Red-Team")
- if (L)
- new /obj/machinery/red_injector(L.loc)
- else
- world << "No red team spawn injector point detected"
-
- L = locate("landmark*The-Green-Team")
- if (L)
- new /obj/machinery/green_injector(L.loc)
- else
- world << "No green team injector spawn point detected"
- ..()
-
-*/
\ No newline at end of file
diff --git a/code/unused/gamemodes/ctf_items.dm b/code/unused/gamemodes/ctf_items.dm
deleted file mode 100644
index 74c907826b6..00000000000
--- a/code/unused/gamemodes/ctf_items.dm
+++ /dev/null
@@ -1,139 +0,0 @@
-/obj/item/weapon/ctf_flag
- name = "Flag"
- desc = "Its a flag"
- w_class = 5
- icon = 'flags.dmi'
- icon_state = "flag_neutral"
- item_state = "paper"
-
-/obj/item/weapon/ctf_flag/red
- name = "The Red Flag"
- desc = "Catch dat fukken flag"
- icon_state = "flag_red"
-
-/obj/item/weapon/ctf_flag/green
- name = "The Green Flag"
- desc = "Catch dat fukken flag"
- icon_state = "flag_green"
-
-/obj/item/weapon/ctf_flag/New()
- ..()
- spawn(200)
- process()
- return
-
-/obj/item/weapon/ctf_flag/process()
- if(istype(src, /obj/item/weapon/ctf_flag/green))
- var/obj/L = locate("landmark*Green-Flag")
- if(locate("landmark*Green-Flag", src))
- spawn(200)
- process()
- return
- else if(!src.check_if_equipped() && L)
- new /obj/item/weapon/ctf_flag/green(L.loc)
- del(src)
- if(istype(src, /obj/item/weapon/ctf_flag/red))
- var/obj/L = locate("landmark*Red-Flag")
- if(locate("landmark*Red-Flag", src))
- spawn(200)
- process()
- return
- else if(!src.check_if_equipped() && L)
- new /obj/item/weapon/ctf_flag/red(L.loc)
- del(src)
- return
-
-/obj/item/weapon/ctf_flag/proc/check_if_equipped()
- var/equipped = 0
- for(var/mob/M in living_mob_list)
- if(M &&!M.stat)
- var/list/L = M.get_contents()
- if(src in L)
- equipped = 1
- break
- return equipped
-
-/obj/machinery/red_injector
- name = "Red Team Flag Injector"
- desc = "Insert flag here"
- anchored = 1
- density = 1
- var/score = 0
- var/operating = 0
- icon = 'flags.dmi'
- icon_state = "red_injector"
-/*
-/obj/machinery/red_injector/ex_act(severity)
- return
-
-/obj/machinery/red_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user)
- if(src.operating)
- user << "Cannot put a flag in right now"
- return
- src.operating = 1
- if(istype(C, /obj/item/weapon/ctf_flag/green))
- if(locate("landmark*Red-Flag", /obj/item/weapon/ctf_flag/red))
- src.score++
- world << "[user.real_name] has scored for the red team!"
- if(ticker.mode.name == "ctf")
- ticker.red_score++
- var/obj/L = locate("landmark*Green-Flag")
- if (L)
- del(C)
- new /obj/item/weapon/ctf_flag/green(L.loc)
- else
- world << "No green flag spawn point detected"
- if(src.score >= 15)
- world << "The Red Team has won!"
- world << "They have scored [score] times with the flag!"
- sleep(300)
- world.Reboot()
- else
- user << "\red You need to have your flag in the beginning position!"
- else if(istype(C, /obj/item/weapon/ctf_flag/red))
- world << "[user.real_name] has tried to score with their own flag! Idiot!"
- src.operating = 0
- return
-*/
-/obj/machinery/green_injector
- name = "Green Team Flag Injector"
- desc = "Insert flag here"
- anchored = 1
- density = 1
- var/operating = 0
- var/score = 0
- icon = 'flags.dmi'
- icon_state = "green_injector"
-
-/obj/machinery/green_injector/ex_act(severity)
- return
-/*
-/obj/machinery/green_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user)
- if(src.operating)
- user << "Cannot put a flag in right now"
- return
- src.operating = 1
- if(istype(C, /obj/item/weapon/ctf_flag/red))
- if(locate("landmark*Green-Flag", /obj/item/weapon/ctf_flag/green))
- src.score++
- world << "[user.real_name] has scored for the green team!"
- if(ticker.mode.name == "ctf")
- ticker.green_score++
- var/obj/L = locate("landmark*Red-Flag")
- if (L)
- del(C)
- new /obj/item/weapon/ctf_flag/red(L.loc)
- else
- world << "No red flag spawn point detected"
- if(src.score >= 15)
- world << "The Green Team has won!"
- world << "They have scored [score] times with the flag!"
- sleep(300)
- world.Reboot()
- else
- user << "\red You need to have your flag in the beginning position!"
- else if(istype(C, /obj/item/weapon/ctf_flag/green))
- world << "[user.real_name] has tried to score with their own flag! Idiot!"
- src.operating = 0
- return
-*/
\ No newline at end of file
diff --git a/code/unused/gamemodes/deathmatch.dm b/code/unused/gamemodes/deathmatch.dm
deleted file mode 100644
index e748eb4f20d..00000000000
--- a/code/unused/gamemodes/deathmatch.dm
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-/datum/game_mode/deathmatch
- name = "deathmatch"
- config_tag = "deathmatch"
- var/startedat
- var/const/gamelength = 15 * 600 // 1/10 second
-
- announce()
- world << "The current game mode is - Death Commando Deathmatch!"
- world << "Just kill everyone else. They're gonna try to kill you, after all. Respawning is enabled."
-
- post_setup()
- startedat = world.realtime
- abandon_allowed = 1
- setup_game()
-
- // TODO: DEFERRED Make this massively cleaner. It should hook before spawning, not after.
- var/list/mobs = list()
- for(var/mob/living/carbon/human/M in world)
- if (M.client)
- mobs += M
- for(var/mob/living/carbon/human/M in mobs)
- spawn()
- if(M.client)
- for(var/obj/item/weapon/W in list(M.wear_suit, M.w_uniform, M.r_store, M.l_store, M.wear_id, M.belt,
- M.gloves, M.glasses, M.head, M.ears, M.shoes, M.wear_mask, M.back,
- M.handcuffed, M.r_hand, M.l_hand))
- M.u_equip(W)
- del(W)
-
- var/randomname = "Killiam Shakespeare"
- if(commando_names.len)
- randomname = pick(commando_names)
- commando_names -= randomname
- var/newname = input(M,"You are a death commando. Would you like to change your name?", "Character Creation", randomname)
- if(!length(newname))
- newname = randomname
- newname = strip_html(newname,40)
-
- M.real_name = newname
- M.name = newname // there are WAY more things than this to change, I'm almost certain
-
- M.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(M), slot_w_uniform)
- M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
- M.equip_to_slot_or_del(new /obj/item/clothing/suit/swat_suit/death_commando(M), slot_wear_suit)
- M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/death_commando(M), slot_wear_mask)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves)
- M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(M), slot_glasses)
- M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_l_hand)
- M.equip_to_slot_or_del(new /obj/item/weapon/m_pill/cyanide(M), slot_l_store)
- M.equip_to_slot_or_del(new /obj/item/weapon/flashbang(M), slot_r_store)
-
- var/obj/item/weapon/tank/air/O = new(M)
- M.equip_to_slot_or_del(O, slot_back)
- M.internal = O
-
- var/obj/item/weapon/card/id/W = new(M)
- W.access = get_all_accesses()
- W.name = "[newname]'s ID card (Death Commando)"
- W.assignment = "Death Commando"
- W.registered_name = newname
- M.equip_to_slot_or_del(W, slot_wear_id)
- ..()
-
- check_win()
- return 1
-*/
\ No newline at end of file
diff --git a/code/unused/gamemodes/monkey.dm b/code/unused/gamemodes/monkey.dm
deleted file mode 100644
index 04b0689f6ab..00000000000
--- a/code/unused/gamemodes/monkey.dm
+++ /dev/null
@@ -1,131 +0,0 @@
-#define MONKEY_MODE_RUNNING 0
-#define MONKEY_MODE_NO_RABID_LEFT 1
-#define MONKEY_MODE_SHUTTLE_CAPTURED 2
-#define MONKEY_MODE_SHUTTLE_WITH_HUMANS 3
-
-#define MONKEY_MODE_MONKEYS 4
-
-/datum/game_mode/monkey
- name = "monkey"
- config_tag = "monkey"
- var/state = MONKEY_MODE_RUNNING
- var/list/datum/mind/initial_monkeys = new
-
-/datum/game_mode/monkey/announce()
- world << "The current game mode is - Monkey!"
- world << "Some of your crew members have been infected by a mutageous virus!"
- world << "Escape on the shuttle but the humans have precedence!"
-
-/datum/game_mode/monkey/can_start()
- if (num_players()<2)
- return 0
- for(var/mob/new_player/P in player_list)
- if(P.client && P.ready && !jobban_isbanned(P, "Syndicate"))
- return 1
- return 0
-
-/datum/game_mode/monkey/pre_setup()
- var/list/possible_monkeys = get_players_for_role(BE_MONKEY)
-
- // stop setup if no possible monkeys
- if(!possible_monkeys.len)
- return 0
-
- var/num_monkeys = MONKEY_MODE_MONKEYS
- var/num_players = num_players()
-
- if (num_players<=num_monkeys)
- num_monkeys = round(num_players/2)
-
- for(var/j = 1 to num_monkeys)
- if (!possible_monkeys.len)
- break
- var/datum/mind/monkey = pick(possible_monkeys)
- possible_monkeys-=monkey
- initial_monkeys += monkey
- monkey.special_role = "monkey"
-
- if(!initial_monkeys.len)
- return 0
- return 1
-
-/datum/game_mode/monkey/post_setup()
- spawn (50)
- for (var/datum/mind/monkey in initial_monkeys)
- var/mob/living/carbon/human/H = monkey.current
- var/mob/living/carbon/monkey/new_monkey = H.monkeyize()
- new_monkey << "Your goal is to capture the entire human civilization and your first target is Centcom. Hijack the shuttle without humans aboard!"
-
- for (var/mob/living/carbon/monkey/rabid_monkey in mob_list)
- if (!(rabid_monkey.mind in initial_monkeys) && (!isturf(rabid_monkey.loc) || rabid_monkey.z!=1))
- continue
- rabid_monkey.contract_disease(new /datum/disease/jungle_fever,1,0)
- del(initial_monkeys)
- ..()
-
-/datum/game_mode/monkey/proc/is_important_monkey(var/mob/living/carbon/monkey/M as mob)
- var/turf/T = get_turf(M)
- var/area/A = get_area(M)
- if(M.stat!=2)
-
- for(var/datum/disease/D in M.viruses)
- if(istype(D, /datum/disease/jungle_fever) && ( T.z==1 || is_type_in_list(A, centcom_areas)))
- return 1
-
-
-/datum/game_mode/monkey/check_win()
- if (state==MONKEY_MODE_SHUTTLE_CAPTURED || state==MONKEY_MODE_SHUTTLE_WITH_HUMANS)
- return
- var/infected_count = 0
- for (var/mob/living/carbon/monkey/rabid_monkey in mob_list)
- if (is_important_monkey(rabid_monkey))
- infected_count++
- if (infected_count==0)
- state = MONKEY_MODE_NO_RABID_LEFT
-
-/datum/game_mode/monkey/check_finished()
- return (emergency_shuttle.location==2) || (state>0)
-
-/datum/game_mode/monkey/declare_completion()
- var/monkeywin = 0
- if (state != MONKEY_MODE_NO_RABID_LEFT)
- for(var/mob/living/carbon/monkey/monkey_player in mob_list)
- if (is_important_monkey(monkey_player))
- var/area/A = get_area(monkey_player)
- if ( is_type_in_list(A, centcom_areas))
- monkeywin = 1
- break
-
- if(monkeywin)
- for(var/mob/living/carbon/human/human_player in mob_list)
- if (human_player.stat != 2)
- var/area/A = get_area(human_player)
- if (istype(A, /area/shuttle/escape/centcom))
- monkeywin = 0
- break
-
- if (monkeywin)
- feedback_set_details("round_end_result","win - monkey win")
- world << "The monkeys have won! Humanity is doomed!"
- for (var/mob/living/carbon/human/player in player_list)
- spawn(rand(0,150))
- player.monkeyize()
- sleep(200)
- else
- feedback_set_details("round_end_result","loss - crew win")
- world << "The Research Staff has stopped the monkey invasion!"
- ..()
- return 1
-
-
-/datum/game_mode/proc/auto_declare_completion_monkey()
- for(var/mob/living/carbon/monkey/monkey_player in mob_list)
- for(var/datum/disease/D in monkey_player.viruses)
- if (istype(D, /datum/disease/jungle_fever) && monkey_player.ckey)
- world << "[monkey_player.ckey] was played infested [monkey_player]. [monkey_player.stat == 2 ? "(DEAD)" : ""]"
- return 1
-
-#undef MONKEY_MODE_RUNNING
-#undef MONKEY_MODE_NO_RABID_LEFT
-#undef MONKEY_MODE_SHUTTLE_CAPTURED
-#undef MONKEY_MODE_SHUTTLE_WITH_HUMANS
diff --git a/code/unused/gamemodes/restructuring.dm b/code/unused/gamemodes/restructuring.dm
deleted file mode 100644
index eff8acb7248..00000000000
--- a/code/unused/gamemodes/restructuring.dm
+++ /dev/null
@@ -1,77 +0,0 @@
-/datum/game_mode/restructuring
- name = "Corporate Restructuring"
- config_tag = "restructuring"
-/*
-/datum/game_mode/restructuring/announce()
- world << "\red GLOBAL TRANSMISSION FROM HEAD OFFICE: A CORPORATE RESTRUCTURING IS TO TAKE PLACE"
- world << "\red Stay tuned for further news; note that we do care for our employees and any layoffs will be dealt with discretion and compassion"
-
-
-/datum/game_mode/restructuring/post_setup()
- setup_game()
- var/list/mobs = get_mob_list()
- while (mobs.len == 0)
- sleep 30
- mobs = get_mob_list()
- spawn (120)
- pick_target()
- ..()
-
-/datum/game_mode/restructuring/proc/pick_target(who)
- var/mob/target
- var/mob/target_desc
-
- if (!who)
- target = pick(get_mob_list())
- target_desc = get_target_desc(target)
- world << "\red HEAD OFFICE: [target_desc] is accused of attempting to start a Union and is now considered a threat to the station. Terminate the employee immediately."
- else
- target = who
- target_desc = get_target_desc(target)
- world << "\red HEAD OFFICE: [target_desc] is accused of fornicating with staff of the same sex. Terminate the employee immediately."
- ticker.target = target
-
- target.store_memory("Head office has ordered your downsizing. Ruh roh", 0)
-
- for(var/mob/living/silicon/ai/M in world)
- M << "These are your laws now:"
- M.set_zeroth_law("[target_desc] is not human.")
- M.show_laws()
-
-/datum/game_mode/restructuring/check_win()
- var/list/left_alive = get_mob_list()
- if (left_alive.len == 1)
- var/thewinner = the_winner()
- world << "\red HEAD OFFICE: Thanks to his superior brown-nosing abilities, [thewinner] has been promoted to senior management! Congratulations!"
- return 1
- else if (left_alive.len == 0)
- world << "\red HEAD OFFICE: Cost cutting measures have achieved 100% efficiency. Thank you for understanding our position during this volatile economic downturn."
- return 1
- else
- if(ticker.target.stat != 2)
- return 0
- world << "\red HEAD OFFICE: It seems we have made a mistake in our paperwork. The previous target for termination was chosen based on race, sex, and/or religious beliefs, which is against company policy. Please cancel previous termination request."
- pick_target()
- return 0
-
-/datum/game_mode/restructuring/proc/get_mob_list()
- var/list/mobs = list()
- for(var/mob/M in world)
- if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human))
- mobs += M
- return mobs
-
-/datum/game_mode/restructuring/proc/the_winner()
- for(var/mob/M in world)
- if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human))
- return M.name
-
-/datum/game_mode/restructuring/proc/get_target_desc(mob/target) //return a useful string describing the target
- var/targetrank = null
- for(var/datum/data/record/R in data_core.general)
- if (R.fields["name"] == target.real_name)
- targetrank = R.fields["rank"]
- if(!targetrank)
- return "[target.name]"
- return "[target.name] the [targetrank]"
-*/
\ No newline at end of file
diff --git a/code/unused/gamemodes/ruby.dm b/code/unused/gamemodes/ruby.dm
deleted file mode 100644
index 5636bcb575b..00000000000
--- a/code/unused/gamemodes/ruby.dm
+++ /dev/null
@@ -1,289 +0,0 @@
-// RUBY MODE
-// There is a weapon of some sort that spawns on the station
-// It calls out to crew members in an effort to find a wielder
-// The wielder is made an abomination - they're given a grotesque mask and special powers
-// The Abomination wins by murdering the entire crew, then himself
-// The crew wins by destroying the weapon
-
-
-/datum/game_mode/ruby
- name = "ruby"
- config_tag = "ruby"
-
- var/datum/mind/abomination
- var/finished = 0
- var/abominationwins = 0
- var/winnerkey
- var/obj/macguffin
- var/list/killed = list()
- var/respawns = 0
-
-
-
-/datum/game_mode/ruby/post_setup()
- var/list/possible_abominations = get_possible_abominations()
-
- if(possible_abominations.len>0)
- abomination = pick(possible_abominations)
- /*
- if(istype(ruby))
- abomination.special_role = "abomination"
- if(wizardstart.len == 0)
- wizard.current << "\red A starting location for you could not be found, please report this bug!"
- else
- var/starting_loc = pick(wizardstart)
- wizard.current.loc = starting_loc
-
- for (var/obj/effect/landmark/A in world)
- if (A.name == "Teleport-Scroll")
- new /obj/item/weapon/teleportation_scroll(A.loc)
- del(A)
- continue
- */
- ..()
-
-/datum/game_mode/ruby/check_finished()
- if(!macguffin || abominationwins)
- return 1
- else
- return 0
-
-/datum/game_mode/ruby/declare_completion()
- if(abominationwins)
- feedback_set_details("round_end_result","win - abomination win")
- world << "The Abomination has murdered the station and sacrificed himself to Cjopaze! (played by [winnerkey])"
- else
- feedback_set_details("round_end_result","loss - abomination killed")
- world << "The Abomination has been stopped and Cjopaze's influence resisted! The station lives another day,"
- if(killed.len > 0)
- world << "Those who were sacrificed shall be remembered: "
- for(var/mob/M in killed)
- if(M)
- world << "[M.real_name]"
- /*
- for(var/datum/mind/traitor in traitors)
- var/traitorwin = 1
- var/traitor_name
-
- if(traitor.current)
- traitor_name = "[traitor.current.real_name] (played by [traitor.key])"
- else
- traitor_name = "[traitor.key] (character destroyed)"
-
- world << "The syndicate traitor was [traitor_name]"
- var/count = 1
- for(var/datum/objective/objective in traitor.objectives)
- if(objective.check_completion())
- world << "Objective #[count]: [objective.explanation_text] \green Success"
- else
- world << "Objective #[count]: [objective.explanation_text] \red Failed"
- traitorwin = 0
- count++
-
- if(traitorwin)
- world << "The traitor was successful!"
- else
- world << "The traitor has failed!"
- */
- ..()
- return 1
-
-
-/datum/game_mode/ruby/proc/spawn_macguffin()
-
-/datum/game_mode/ruby/proc/get_possible_abominations()
-
-
-/mob/proc/make_abomination()
- src.see_in_dark = 20
- src.verbs += /client/proc/planar_shift
- src.verbs += /client/proc/vile_ressurection
- src.verbs += /client/proc/defile_corpse
- src.verbs += /client/proc/summon_weapon
- src.verbs += /client/proc/sacrifice_self
- src.verbs += /client/proc/hunt
- src.verbs += /client/proc/howl
- var/datum/game_mode/ruby/rmode = ticker.mode
- rmode.abomination = src.mind
- return
-
-
-/client/proc/planar_shift()
- set name = "Planar Shift"
- set category = "Abomination"
- // This is a pretty shitty way to do this. Should use the spell_holder method from Wizard mode
- /*
- if(!usr.incorporeal_move)
- usr.sight |= SEE_MOBS
- usr.sight |= SEE_OBJS
- usr.sight |= SEE_TURFS
- //usr.density = 0
- usr.incorporeal_move = 1
- else
- usr.sight &= ~SEE_MOBS
- usr.sight &= ~SEE_TURFS
- usr.sight &= ~SEE_OBJS
- usr.density = 1
- usr.incorporeal_move = 0
- src.verbs -= /client/proc/planar_shift
- spawn(300) src.verbs += /client/proc/planar_shift
- */
-
-/client/proc/vile_ressurection()
- set name = "Vile Ressurection"
- set category = "Abomination"
- if(src.mob.stat != 2 || !src.mob)
- return
- if(ticker.mode:respawns > 0)
- // spawn a new body
- ticker.mode:respawns -= 1
- else
- // nope
-
-/client/proc/defile_corpse(var/mob/living/carbon/human/H in view())
- set name = "Defile Corpse"
- set category = "Abomination"
- if(istype(H, /mob/living/carbon/human))
- var/datum/game_mode/ruby/rmode = ticker.mode
- rmode.killed.Add(H)
- ticker.mode:respawns += 1
- var/fluffmessage = pick("\red [usr] rips the flesh from [H]'s corpse and plucks their eyes from their sockets!", "\red [usr] does unspeakable things to [H]'s corpse!", "\red [usr] binds [H]'s corpse with their own entrails!")
- usr.visible_message(fluffmessage)
- // play sound
-
-/client/proc/summon_weapon()
- set name = "Summon Weapon"
- set category = "Abomination"
-
- for(var/obj/item/weapon/rubyweapon/w in world)
- if(istype(w, /obj/item/weapon/rubyweapon))
- if(istype(w.loc, /mob))
- var/mob/M = w.loc
- M.drop_item()
- w.loc = usr.loc
- else
- w.loc = usr.loc
- src.verbs -= /client/proc/summon_weapon
- spawn(300) src.verbs += /client/proc/summon_weapon
- return
-
-/client/proc/sacrifice_self()
- set name = "Sacrifice Self"
- set category = "Abomination"
- set desc = "Everything must come to an end. After you have freed them, you must free yourself."
-
- for(var/mob/living/carbon/human/H in player_list)
- if(!H.client || H.client == src)
- continue
- src << "Your work is not done. You will not find release until they are all free."
- return
- usr.gib(1)
- ticker.mode:abominationwins = 1
-
-/client/proc/hunt()
- set name = "Hunt"
- set category = "Abomination"
- set desc = ""
-
- var/list/candidates = list()
-
- for(var/mob/living/carbon/human/H in player_list)
- if(!H.client || H.client == src) continue
- //if(!H.client) continue
- candidates.Add(H)
-
- usr.visible_message(text("\red [usr]'s flesh ripples and parts, revealing dozens of eyes poking from its surface. They all glance wildly around for a few moments before receding again."))
-
- var/mob/living/carbon/human/H = pick(candidates)
-
- if(!H) return
-
- var/filename="crmap[ckey].tmp"
- var/html=""
- var/denytypes[0]
- var/tilesizex=32
- var/tilesizey=32
- //If the temp. file exists, delete it
- src << browse("Sensing prey...
", "window=hunt")
- if (fexists(filename)) fdel(filename)
-
- //Display everything in the world
- for (var/y=H.y-3,y<=H.y+3,y++)
- html+=""
- text2file(html,filename)
- html=""
- sleep(-1)
- //for (var/x=H.x-5,x<=H.x+5,x++)
- for(var/x=H.x-3, x<=H.x+3, x++)
- //Turfs
- var/turf/T=locate(x,y,H.z)
- if (!T) continue
- var/icon/I=icon(T.icon,T.icon_state)
- var/imgstring=replacetext("[T.type]-[T.icon_state]","/","_")
-
- //Movable atoms
- for (var/atom/movable/A in T)
- //Make sure it's allowed to be displayed
- var/allowed=1
- for (var/X in denytypes)
- if (istype(A,X))
- allowed=0
- break
- if (!allowed) continue
-
- if (A.icon) I.Blend(icon(A.icon,A.icon_state,A.dir),ICON_OVERLAY)
- imgstring+=replacetext("__[A.type]_[A.icon_state]","/","_")
-
- //Output it
- src << browse_rsc(I,"[imgstring].dmi")
- html+=" | "
-
- text2file("
",filename)
-
- //Display it
- src << browse(file(filename),"window=hunt")
-
-
-
-/client/proc/howl() // This is just a way for the Abomination to make the game more atmospheric periodically.
- set name = "Howl"
- set category = "Abomination"
- set desc = ""
-
- usr.visible_message(text("\red [usr]'s form warbles and distorts before settling back into its grotesque shape once more."))
- // Play a random spooky sound - maybe cause some visual, non-mechanical effects to appear at random for a few seconds.
-
- src.verbs -= /client/proc/howl
- spawn(rand(300,1800)) src.verbs += /client/proc/howl
-
-/obj/item/weapon/rubyweapon
- desc = ""
- name = "wepon"
- icon_state = "wepon"
- w_class = 3.0
- throwforce = 60.0
- throw_speed = 2
- throw_range = 20
- force = 24.0
- var/mob/owner
-
- proc/check_owner()
- if(!owner)
- sleep(300)
- if(!owner)
- spawn() search_for_new_owner()
- else
- spawn(1800) check_owner()
-
- proc/search_for_new_owner()
- var/list/possible_owners = list()
- for(var/mob/living/carbon/human/H in mob_list)
- possible_owners.Add(H)
-
- var/mob/living/carbon/human/H = pick(possible_owners)
- // Send message to H
- // Take a snapshot of the item's location, browse it to H
- spawn(rand(600,1800)) search_for_new_owner()
-
- attack_self(mob/user as mob)
- // Blow all lights nearby
\ No newline at end of file
diff --git a/code/unused/goonheist/64x64.dmi b/code/unused/goonheist/64x64.dmi
deleted file mode 100644
index a2d1b8c8438..00000000000
Binary files a/code/unused/goonheist/64x64.dmi and /dev/null differ
diff --git a/code/unused/goonheist/goonsmoke.dmi b/code/unused/goonheist/goonsmoke.dmi
deleted file mode 100644
index 6eca2b48110..00000000000
Binary files a/code/unused/goonheist/goonsmoke.dmi and /dev/null differ
diff --git a/code/unused/heater.dm b/code/unused/heater.dm
deleted file mode 100644
index 3af7770a066..00000000000
--- a/code/unused/heater.dm
+++ /dev/null
@@ -1,201 +0,0 @@
-/obj/machinery/atmoalter/heater/proc/setstate()
-
- if(stat & NOPOWER)
- icon_state = "heater-p"
- return
-
- if (src.holding)
- src.icon_state = "heater1-h"
- else
- src.icon_state = "heater1"
- return
-
-/obj/machinery/atmoalter/heater/process()
- /*
- if(stat & NOPOWER) return
- use_power(5)
-
- var/turf/T = src.loc
- if (istype(T, /turf))
- if (locate(/obj/move, T))
- T = locate(/obj/move, T)
- else
- T = null
- if (src.h_status)
- var/t1 = src.gas.total_moles()
- if ((t1 > 0 && src.gas.temperature < (src.h_tar+T0C)))
- var/increase = src.heatrate / t1
- var/n_temp = src.gas.temperature + increase
- src.gas.temperature = min(n_temp, (src.h_tar+T0C))
- use_power( src.h_tar*8)
- switch(src.t_status)
- if(1.0)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.holding.gas.transfer_from(src.gas, t)
- else
- src.t_status = 3
- if(2.0)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = src.maximum - t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.gas.transfer_from(src.holding.gas, t)
- else
- src.t_status = 3
- else
-
- src.updateDialog()
- src.setstate()
- return
- */
-
-/obj/machinery/atmoalter/heater/New()
- ..()
- src.gas = new /datum/gas_mixture()
- return
-
-/obj/machinery/atmoalter/heater/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/atmoalter/heater/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/atmoalter/heater/attack_hand(var/mob/user as mob)
- /*
- if(stat & (BROKEN|NOPOWER))
- return
-
- user.machine = src
- var/tt
- switch(src.t_status)
- if(1.0)
- tt = text("Releasing Siphon Stop", src, src)
- if(2.0)
- tt = text("Release SiphoningStop", src, src)
- if(3.0)
- tt = text("Release Siphon Stopped", src, src)
- else
- var/ht = null
- if (src.h_status)
- ht = text("Heating Stop", src)
- else
- ht = text("Heat Stopped", src)
- var/ct = null
- switch(src.c_status)
- if(1.0)
- ct = text("Releasing Accept Stop", src, src)
- if(2.0)
- ct = text("Release Accepting Stop", src, src)
- if(3.0)
- ct = text("Release Accept Stopped", src, src)
- else
- ct = "Disconnected"
- var/dat = text("Canister Valves
\nContains/Capacity [] / []
\nUpper Valve Status: [][]
\n\tM - - - - [] + + + + M
\nHeater Status: [] - []
\n\tTrg Tmp: - - - [] + + +
\n
\nPipe Valve Status: []
\n\tM - - - - [] + + + + M
\n
\nClose
\n", src.gas.total_moles(), src.maximum, tt, (src.holding ? text("
Tank ([])", src, src.holding.gas.total_moles()) : null), src, num2text(1000000.0, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(1000000.0, 7), ht, (src.gas.total_moles() ? (src.gas.temperature-T0C) : 20), src, src, src, src.h_tar, src, src, src, ct, src, num2text(1000000.0, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(1000000.0, 7), user)
- user << browse(dat, "window=canister;size=600x300")
- onclose(user, "canister")
- return */ //TODO: FIX
-
-/obj/machinery/atmoalter/heater/Topic(href, href_list)
- ..()
- if (stat & (BROKEN|NOPOWER))
- return
- if (usr.stat || usr.restrained())
- return
- if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai)))
- usr.machine = src
- if (href_list["c"])
- var/c = text2num(href_list["c"])
- switch(c)
- if(1.0)
- src.c_status = 1
- if(2.0)
- src.c_status = 2
- if(3.0)
- src.c_status = 3
- else
- else
- if (href_list["t"])
- var/t = text2num(href_list["t"])
- if (src.t_status == 0)
- return
- switch(t)
- if(1.0)
- src.t_status = 1
- if(2.0)
- src.t_status = 2
- if(3.0)
- src.t_status = 3
- else
- else
- if (href_list["h"])
- var/h = text2num(href_list["h"])
- if (h == 1)
- src.h_status = 1
- else
- src.h_status = null
- else
- if (href_list["tp"])
- var/tp = text2num(href_list["tp"])
- src.t_per += tp
- src.t_per = min(max(round(src.t_per), 0), 1000000.0)
- else
- if (href_list["cp"])
- var/cp = text2num(href_list["cp"])
- src.c_per += cp
- src.c_per = min(max(round(src.c_per), 0), 1000000.0)
- else
- if (href_list["ht"])
- var/cp = text2num(href_list["ht"])
- src.h_tar += cp
- src.h_tar = min(max(round(src.h_tar), 0), 500)
- else
- if (href_list["tank"])
- var/cp = text2num(href_list["tank"])
- if ((cp == 1 && src.holding))
- src.holding.loc = src.loc
- src.holding = null
- if (src.t_status == 2)
- src.t_status = 3
- src.updateUsrDialog()
- src.add_fingerprint(usr)
- else
- usr << browse(null, "window=canister")
- return
- return
-
-/obj/machinery/atmoalter/heater/attackby(var/obj/W as obj, var/mob/user as mob)
-
- if (istype(W, /obj/item/weapon/tank))
- if (src.holding)
- return
- var/obj/item/weapon/tank/T = W
- user.drop_item()
- T.loc = src
- src.holding = T
- else
- if (istype(W, /obj/item/weapon/wrench))
- var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc)
-
- if (src.c_status)
- src.anchored = initial(src.anchored)
- src.c_status = 0
- user.show_message("\blue You have disconnected the heater.", 1)
- if(con)
- con.connected = null
- else
- if (con && !con.connected)
- src.anchored = 1
- src.c_status = 3
- user.show_message("\blue You have connected the heater.", 1)
- con.connected = src
- else
- user.show_message("\blue There is no connector here to attach the heater to.", 1)
- return
-
diff --git a/code/unused/hivebot/death.dm b/code/unused/hivebot/death.dm
deleted file mode 100644
index 43e7c257a53..00000000000
--- a/code/unused/hivebot/death.dm
+++ /dev/null
@@ -1,24 +0,0 @@
-/mob/living/silicon/hivebot/death(gibbed)
- if(src.mainframe)
- src.mainframe.return_to(src)
- src.stat = 2
- src.canmove = 0
-
- if(src.blind)
- src.blind.layer = 0
- src.sight |= SEE_TURFS
- src.sight |= SEE_MOBS
- src.sight |= SEE_OBJS
-
- src.see_in_dark = 8
- src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- src.updateicon()
-
- var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch
- store_memory("Time of death: [tod]", 0)
-
- if (src.key)
- spawn(50)
- if(src.key && src.stat == 2)
- src.verbs += /client/proc/ghost
- return ..(gibbed)
\ No newline at end of file
diff --git a/code/unused/hivebot/emote.dm b/code/unused/hivebot/emote.dm
deleted file mode 100644
index 12d71f6b7d2..00000000000
--- a/code/unused/hivebot/emote.dm
+++ /dev/null
@@ -1,140 +0,0 @@
-/mob/living/silicon/hivebot/emote(var/act)
- var/param = null
- if (findtext(act, "-", 1, null))
- var/t1 = findtext(act, "-", 1, null)
- param = copytext(act, t1 + 1, length(act) + 1)
- act = copytext(act, 1, t1)
- var/m_type = 1
- var/message
-
- switch(act)
- if ("salute")
- if (!src.buckled)
- var/M = null
- if (param)
- for (var/mob/A in view(null, null))
- if (param == A.name)
- M = A
- break
- if (!M)
- param = null
-
- if (param)
- message = "[src] salutes to [param]."
- else
- message = "[src] salutes."
- m_type = 1
- if ("bow")
- if (!src.buckled)
- var/M = null
- if (param)
- for (var/mob/A in view(null, null))
- if (param == A.name)
- M = A
- break
- if (!M)
- param = null
-
- if (param)
- message = "[src] bows to [param]."
- else
- message = "[src] bows."
- m_type = 1
-
- if ("clap")
- if (!src.restrained())
- message = "[src] claps."
- m_type = 2
- if ("flap")
- if (!src.restrained())
- message = "[src] flaps his wings."
- m_type = 2
-
- if ("aflap")
- if (!src.restrained())
- message = "[src] flaps his wings ANGRILY!"
- m_type = 2
-
- if ("custom")
- var/input = input("Choose an emote to display.") as text|null
- if (!input)
- return
- input = sanitize(input)
- var/input2 = input("Is this a visible or hearable emote?") in list("Visible","Hearable")
- if (input2 == "Visible")
- m_type = 1
- else if (input2 == "Hearable")
- m_type = 2
- else
- alert("Unable to use this emote, must be either hearable or visible.")
- return
- message = "[src] [input]"
-
- if ("twitch")
- message = "[src] twitches violently."
- m_type = 1
-
- if ("twitch_s")
- message = "[src] twitches."
- m_type = 1
-
- if ("nod")
- message = "[src] nods."
- m_type = 1
-
- if ("glare")
- var/M = null
- if (param)
- for (var/mob/A in view(null, null))
- if (param == A.name)
- M = A
- break
- if (!M)
- param = null
-
- if (param)
- message = "[src] glares at [param]."
- else
- message = "[src] glares."
-
- if ("stare")
- var/M = null
- if (param)
- for (var/mob/A in view(null, null))
- if (param == A.name)
- M = A
- break
- if (!M)
- param = null
-
- if (param)
- message = "[src] stares at [param]."
- else
- message = "[src] stares."
-
- if ("look")
- var/M = null
- if (param)
- for (var/mob/A in view(null, null))
- if (param == A.name)
- M = A
- break
-
- if (!M)
- param = null
-
- if (param)
- message = "[src] looks at [param]."
- else
- message = "[src] looks."
- m_type = 1
- else
- src << text("Invalid Emote: []", act)
- if ((message && src.stat == 0))
- if (m_type & 1)
- for(var/mob/O in viewers(src, null))
- O.show_message(message, m_type)
- else
- for(var/mob/O in hearers(src, null))
- O.show_message(message, m_type)
- return
\ No newline at end of file
diff --git a/code/unused/hivebot/examine.dm b/code/unused/hivebot/examine.dm
deleted file mode 100644
index 6abb42c1619..00000000000
--- a/code/unused/hivebot/examine.dm
+++ /dev/null
@@ -1,20 +0,0 @@
-/mob/living/silicon/hivebot/examine()
- set src in oview()
-
- usr << "\blue *---------*"
- usr << text("\blue This is \icon[src] [src.name]!")
- if (src.stat == 2)
- usr << text("\red [src.name] is powered-down.")
- if (src.getBruteLoss())
- if (src.getBruteLoss() < 75)
- usr << text("\red [src.name] looks slightly dented")
- else
- usr << text("\red [src.name] looks severely dented!")
- if (src.getFireLoss())
- if (src.getFireLoss() < 75)
- usr << text("\red [src.name] looks slightly burnt!")
- else
- usr << text("\red [src.name] looks severely burnt!")
- if (src.stat == 1)
- usr << text("\red [src.name] doesn't seem to be responding.")
- return
\ No newline at end of file
diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm
deleted file mode 100644
index 404e5009510..00000000000
--- a/code/unused/hivebot/hive_modules.dm
+++ /dev/null
@@ -1,57 +0,0 @@
-/obj/item/weapon/hive_module
- name = "hive robot module"
- icon = 'icons/obj/module.dmi'
- icon_state = "std_module"
- w_class = 2.0
- item_state = "electronic"
- flags = FPRINT|TABLEPASS | CONDUCT
- var/list/modules = list()
-
-/obj/item/weapon/hive_module/standard
- name = "give standard robot module"
-
-/obj/item/weapon/hive_module/engineering
- name = "HiveBot engineering robot module"
-
-/obj/item/weapon/hive_module/New()//Shit all the mods have
- src.modules += new /obj/item/device/flash(src)
-
-
-/obj/item/weapon/hive_module/standard/New()
- ..()
- src.modules += new /obj/item/weapon/melee/baton(src)
- src.modules += new /obj/item/weapon/extinguisher(src)
- //var/obj/item/weapon/gun/mp5/M = new /obj/item/weapon/gun/mp5(src)
- //M.weapon_lock = 0
- //src.modules += M
-
-
-/obj/item/weapon/hive_module/engineering/New()
-
- src.modules += new /obj/item/weapon/extinguisher(src)
- src.modules += new /obj/item/weapon/screwdriver(src)
- src.modules += new /obj/item/weapon/weldingtool(src)
- src.modules += new /obj/item/weapon/wrench(src)
- src.modules += new /obj/item/device/analyzer(src)
- src.modules += new /obj/item/device/flashlight(src)
-
- var/obj/item/weapon/rcd/R = new /obj/item/weapon/rcd(src)
- R.matter = 30
- src.modules += R
-
- src.modules += new /obj/item/device/t_scanner(src)
- src.modules += new /obj/item/weapon/crowbar(src)
- src.modules += new /obj/item/weapon/wirecutters(src)
- src.modules += new /obj/item/device/multitool(src)
-
- var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src)
- M.amount = 50
- src.modules += M
-
- var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src)
- G.amount = 50
- src.modules += G
-
- var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src)
- W.amount = 50
- src.modules += W
diff --git a/code/unused/hivebot/hivebot.dm b/code/unused/hivebot/hivebot.dm
deleted file mode 100644
index 2589bc2f34f..00000000000
--- a/code/unused/hivebot/hivebot.dm
+++ /dev/null
@@ -1,504 +0,0 @@
-/mob/living/silicon/hivebot/New(loc,mainframe)
- src << "\blue Your icons have been generated!"
- updateicon()
-
- if(mainframe)
- dependent = 1
- src.real_name = mainframe:name
- src.name = src.real_name
- else
- src.real_name = "Robot [pick(rand(1, 999))]"
- src.name = src.real_name
-
- src.radio = new /obj/item/device/radio(src)
- ..()
-
-
-/mob/living/silicon/hivebot/proc/pick_module()
- if(src.module)
- return
- var/mod = input("Please, select a module!", "Robot", null, null) in list("Combat", "Engineering")
- if(src.module)
- return
- switch(mod)
- if("Combat")
- src.module = new /obj/item/weapon/hive_module/standard(src)
-
- if("Engineering")
- src.module = new /obj/item/weapon/hive_module/engineering(src)
-
-
- src.hands.icon_state = "malf"
- updateicon()
-
-
-/mob/living/silicon/hivebot/blob_act()
- if (src.stat != 2)
- src.adjustBruteLoss(60)
- src.updatehealth()
- return 1
- return 0
-
-/mob/living/silicon/hivebot/Stat()
- ..()
- statpanel("Status")
- if (src.client.statpanel == "Status")
- if(emergency_shuttle)
- if(emergency_shuttle.has_eta() && !emergency_shuttle.returned())
- var/timeleft = emergency_shuttle.estimate_arrival_time()
- if (timeleft)
- stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
-/*
- if(ticker.mode.name == "AI malfunction")
- stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]")
-*/
-
- stat(null, text("Charge Left: [src.energy]/[src.energy_max]"))
-
-/mob/living/silicon/hivebot/restrained()
- return 0
-
-/mob/living/silicon/hivebot/ex_act(severity)
- if(!blinded)
- flick("flash", src.flash)
-
- if (src.stat == 2 && src.client)
- src.gib(1)
- return
-
- else if (src.stat == 2 && !src.client)
- del(src)
- return
-
- switch(severity)
- if(1.0)
- if (src.stat != 2)
- adjustBruteLoss(100)
- adjustFireLoss(100)
- src.gib(1)
- return
- if(2.0)
- if (src.stat != 2)
- adjustBruteLoss(60)
- adjustFireLoss(60)
- if(3.0)
- if (src.stat != 2)
- adjustBruteLoss(30)
-
- src.updatehealth()
-
-/mob/living/silicon/hivebot/meteorhit(obj/O as obj)
- for(var/mob/M in viewers(src, null))
- M.show_message(text("\red [src] has been hit by [O]"), 1)
- //Foreach goto(19)
- if (src.health > 0)
- src.adjustBruteLoss(30)
- if ((O.icon_state == "flaming"))
- src.adjustFireLoss(40)
- src.updatehealth()
- return
-
-/mob/living/silicon/hivebot/bullet_act(flag)
-/*
- if (flag == PROJECTILE_BULLET)
- if (src.stat != 2)
- src.bruteloss += 60
- src.updatehealth()
-
- else if (flag == PROJECTILE_MEDBULLET)
- if (src.stat != 2)
- src.bruteloss += 30
- src.updatehealth()
-
- else if (flag == PROJECTILE_WEAKBULLET)
- if (src.stat != 2)
- src.bruteloss += 15
- src.updatehealth()
-
- else if (flag == PROJECTILE_MPBULLET)
- if (src.stat != 2)
- src.bruteloss += 20
- src.updatehealth()
-
- else if (flag == PROJECTILE_SLUG)
- if (src.stat != 2)
- src.bruteloss += 40
- src.updatehealth()
-
- else if (flag == PROJECTILE_BAG)
- if (src.stat != 2)
- src.bruteloss += 2
- src.updatehealth()
-
-
- else if (flag == PROJECTILE_TASER)
- return
-
- else if (flag == PROJECTILE_WAVE)
- if (src.stat != 2)
- src.bruteloss += 25
- src.updatehealth()
- return
-
- else if(flag == PROJECTILE_LASER)
- if (src.stat != 2)
- src.bruteloss += 20
- src.updatehealth()
- else if(flag == PROJECTILE_PULSE)
- if (src.stat != 2)
- src.bruteloss += 40
- src.updatehealth()
-*/
- return
-
-
-
-/mob/living/silicon/hivebot/Bump(atom/movable/AM as mob|obj, yes)
- spawn( 0 )
- if ((!( yes ) || src.now_pushing))
- return
- src.now_pushing = 1
- if(ismob(AM))
- var/mob/tmob = AM
- /*if(istype(tmob, /mob/living/carbon/human) && (M_FAT in tmob.mutations))
- if(prob(20))
- for(var/mob/M in viewers(src, null))
- if(M.client)
- M << M << "\red [src] fails to push [tmob]'s fat ass out of the way."
- src.now_pushing = 0
- //src.unlock_medal("That's No Moon, That's A Gourmand!", 1)
- return*/
- src.now_pushing = 0
- ..()
- if (!istype(AM, /atom/movable))
- return
- if (!src.now_pushing)
- src.now_pushing = 1
- if (!AM.anchored)
- var/t = get_dir(src, AM)
- step(AM, t)
- src.now_pushing = null
- return
- return
-
-
-/mob/living/silicon/hivebot/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
- if (W:remove_fuel(0))
- src.adjustBruteLoss(-30)
- src.updatehealth()
- src.add_fingerprint(user)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red [user] has fixed some of the dents on [src]!"), 1)
- else
- user << "Need more welding fuel!"
- return
-
-/mob/living/silicon/hivebot/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
-
- if (M.a_intent == "grab")
- if (M == src)
- return
- var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
- G.assailant = M
- if (M.hand)
- M.l_hand = G
- else
- M.r_hand = G
- G.layer = 20
- G.affecting = src
- src.grabbed_by += G
- G.synch()
- playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] has grabbed [] passively!", M, src), 1)
-
- else if (M.a_intent == "hurt")
- var/damage = rand(5, 10)
- if (prob(90))
- /*
- if (M.class == "combat")
- damage += 15
- if(prob(20))
- src.weakened = max(src.weakened,4)
- src.stunned = max(src.stunned,4)
- */
- playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] has slashed at []!", M, src), 1)
- if(prob(8))
- flick("noise", src.flash)
- src.adjustBruteLoss(damage)
- src.updatehealth()
- else
- playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] took a swipe at []!", M, src), 1)
- return
-
- else if (M.a_intent == "disarm")
- if(!(src.lying))
- var/randn = rand(1, 100)
- if (randn <= 40)
- src.stunned = 5
- step(src,get_dir(M,src))
- spawn(5) step(src,get_dir(M,src))
- playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] has pushed back []!", M, src), 1)
- else
- playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1)
- for(var/mob/O in viewers(src, null))
- O.show_message(text("\red [] attempted to push back []!", M, src), 1)
- return
-
-/mob/living/silicon/hivebot/attack_hand(mob/user)
- ..()
- return
-
-
-/mob/living/silicon/hivebot/proc/allowed(mob/M)
- //check if it doesn't require any access at all
- if(src.check_access(null))
- return 1
- return 0
-
-/mob/living/silicon/hivebot/proc/check_access(obj/item/weapon/card/id/I)
- if(!istype(src.req_access, /list)) //something's very wrong
- return 1
-
- var/list/L = src.req_access
- if(!L.len) //no requirements
- return 1
- if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access
- return 0
- for(var/req in src.req_access)
- if(!(req in I.access)) //doesn't have this access
- return 0
- return 1
-
-/mob/living/silicon/hivebot/proc/updateicon()
-
- src.overlays.Cut()
-
- if(src.stat == 0)
- src.overlays += "eyes"
- else
- src.overlays -= "eyes"
-
-
-/mob/living/silicon/hivebot/proc/installed_modules()
-
- if(!src.module)
- src.pick_module()
- return
- var/dat = "Modules\n"
- dat += {"Close
-
-
- Activated Modules
-
- Module 1: [module_state_1 ? "[module_state_1]" : "No Module"]
- Module 2: [module_state_2 ? "[module_state_2]" : "No Module"]
- Module 3: [module_state_3 ? "[module_state_3]" : "No Module"]
-
- Installed Modules
"}
-
- for (var/obj in src.module.modules)
- if(src.activated(obj))
- dat += text("[obj]: Activated
")
- else
- dat += text("[obj]: Activate
")
-/*
- if(src.activated(obj))
- dat += text("[obj]: \[Activated | Deactivate\]
")
- else
- dat += text("[obj]: \[Activate | Deactivated\]
")
-*/
- src << browse(dat, "window=robotmod&can_close=0")
-
-
-/mob/living/silicon/hivebot/Topic(href, href_list)
- ..()
- if (href_list["mach_close"])
- var/t1 = text("window=[href_list["mach_close"]]")
- src.machine = null
- src << browse(null, t1)
- return
-
- if (href_list["mod"])
- var/obj/item/O = locate(href_list["mod"])
- O.attack_self(src)
-
- if (href_list["act"])
- var/obj/item/O = locate(href_list["act"])
- if(activated(O))
- src << "Already activated"
- return
- if(!src.module_state_1)
- src.module_state_1 = O
- O.layer = 20
- src.contents += O
- else if(!src.module_state_2)
- src.module_state_2 = O
- O.layer = 20
- src.contents += O
- else if(!src.module_state_3)
- src.module_state_3 = O
- O.layer = 20
- src.contents += O
- else
- src << "You need to disable a module first!"
- src.installed_modules()
-
- if (href_list["deact"])
- var/obj/item/O = locate(href_list["deact"])
- if(activated(O))
- if(src.module_state_1 == O)
- src.module_state_1 = null
- src.contents -= O
- else if(src.module_state_2 == O)
- src.module_state_2 = null
- src.contents -= O
- else if(src.module_state_3 == O)
- src.module_state_3 = null
- src.contents -= O
- else
- src << "Module isn't activated."
- else
- src << "Module isn't activated"
- src.installed_modules()
- return
-
-/mob/living/silicon/hivebot/proc/uneq_active()
- if(isnull(src.module_active))
- return
- if(src.module_state_1 == src.module_active)
- if (src.client)
- src.client.screen -= module_state_1
- src.contents -= module_state_1
- src.module_active = null
- src.module_state_1 = null
- src.inv1.icon_state = "inv1"
- else if(src.module_state_2 == src.module_active)
- if (src.client)
- src.client.screen -= module_state_2
- src.contents -= module_state_2
- src.module_active = null
- src.module_state_2 = null
- src.inv2.icon_state = "inv2"
- else if(src.module_state_3 == src.module_active)
- if (src.client)
- src.client.screen -= module_state_3
- src.contents -= module_state_3
- src.module_active = null
- src.module_state_3 = null
- src.inv3.icon_state = "inv3"
-
-
-/mob/living/silicon/hivebot/proc/activated(obj/item/O)
- if(src.module_state_1 == O)
- return 1
- else if(src.module_state_2 == O)
- return 1
- else if(src.module_state_3 == O)
- return 1
- else
- return 0
-
-/mob/living/silicon/hivebot/proc/radio_menu()
- var/dat = {"
-
-Microphone: [src.radio.broadcasting ? "Engaged" : "Disengaged"]
-Speaker: [src.radio.listening ? "Engaged" : "Disengaged"]
-Frequency:
--
--
-[format_frequency(src.radio.frequency)]
-+
-+
--------
-"}
- src << browse(dat, "window=radio")
- onclose(src, "radio")
- return
-
-
-/mob/living/silicon/hivebot/Move(a, b, flag)
-
- if (src.buckled)
- return
-
- if (src.restrained())
- src.stop_pulling()
-
- var/t7 = 1
- if (src.restrained())
- for(var/mob/M in range(src, 1))
- if ((M.pulling == src && M.stat == 0 && !( M.restrained() )))
- t7 = null
- if ((t7 && (src.pulling && ((get_dist(src, src.pulling) <= 1 || src.pulling.loc == src.loc) && (src.client && src.client.moving)))))
- var/turf/T = src.loc
- . = ..()
-
- if (src.pulling && src.pulling.loc)
- if(!( isturf(src.pulling.loc) ))
- src.stop_pulling()
- return
- else
- if(Debug)
- diary <<"src.pulling disappeared? at [__LINE__] in mob.dm - src.pulling = [src.pulling]"
- diary <<"REPORT THIS"
-
- /////
- if(src.pulling && src.pulling.anchored)
- src.stop_pulling()
- return
-
- if (!src.restrained())
- var/diag = get_dir(src, src.pulling)
- if ((diag - 1) & diag)
- else
- diag = null
- if ((get_dist(src, src.pulling) > 1 || diag))
- if (ismob(src.pulling))
- var/mob/M = src.pulling
- var/ok = 1
- if (locate(/obj/item/weapon/grab, M.grabbed_by))
- if (prob(75))
- var/obj/item/weapon/grab/G = pick(M.grabbed_by)
- if (istype(G, /obj/item/weapon/grab))
- for(var/mob/O in viewers(M, null))
- O.show_message(text("\red [G.affecting] has been pulled from [G.assailant]'s grip by [src]"), 1)
- del(G)
- else
- ok = 0
- if (locate(/obj/item/weapon/grab, M.grabbed_by.len))
- ok = 0
- if (ok)
- var/atom/movable/t = M.pulling
- M.stop_pulling()
- step(src.pulling, get_dir(src.pulling.loc, T))
- M.start_pulling(t)
- else
- if (src.pulling)
- step(src.pulling, get_dir(src.pulling.loc, T))
- else
- src.stop_pulling()
- . = ..()
- if ((src.s_active && !( s_active in src.contents ) ))
- src.s_active.close(src)
- return
-
-
-/mob/living/silicon/hivebot/verb/cmd_return_mainframe()
- set category = "Robot Commands"
- set name = "Recall to Mainframe."
- return_mainframe()
-
-/mob/living/silicon/hivebot/proc/return_mainframe()
- if(mainframe)
- mainframe.return_to(src)
- else
- src << "\red You lack a dedicated mainframe!"
- return
\ No newline at end of file
diff --git a/code/unused/hivebot/hivebotdefine.dm b/code/unused/hivebot/hivebotdefine.dm
deleted file mode 100644
index 902c2304710..00000000000
--- a/code/unused/hivebot/hivebotdefine.dm
+++ /dev/null
@@ -1,46 +0,0 @@
-/mob/living/silicon/hivebot
- name = "Robot"
- icon = 'icons/mob/hivebot.dmi'
- icon_state = "basic"
- health = 80
- var/health_max = 80
- robot_talk_understand = 2
-
-//HUD
- var/obj/screen/cells = null
- var/obj/screen/inv1 = null
- var/obj/screen/inv2 = null
- var/obj/screen/inv3 = null
-
-//3 Modules can be activated at any one time.
- var/obj/item/weapon/robot_module/module = null
- var/module_active = null
- var/module_state_1 = null
- var/module_state_2 = null
- var/module_state_3 = null
-
- var/obj/item/device/radio/radio = null
-
- var/list/req_access = list(ACCESS_ROBOTICS)
- var/energy = 4000
- var/energy_max = 4000
- var/jetpack = 0
-
- var/mob/living/silicon/hive_mainframe/mainframe = null
- var/dependent = 0
- var/shell = 1
-
-/mob/living/silicon/hive_mainframe
- name = "Robot Mainframe"
- voice_name = "synthesized voice"
-
- icon_state = "hive_main"
- health = 200
- var/health_max = 200
- robot_talk_understand = 2
-
- anchored = 1
- var/online = 1
- var/mob/living/silicon/hivebot = null
- var/hivebot_name = null
- var/force_mind = 0
\ No newline at end of file
diff --git a/code/unused/hivebot/hud.dm b/code/unused/hivebot/hud.dm
deleted file mode 100644
index 8a88550d97d..00000000000
--- a/code/unused/hivebot/hud.dm
+++ /dev/null
@@ -1,251 +0,0 @@
-
-/obj/hud/proc/hivebot_hud()
-
- src.adding = list( )
- src.other = list( )
- src.intents = list( )
- src.mon_blo = list( )
- src.m_ints = list( )
- src.mov_int = list( )
- src.vimpaired = list( )
- src.darkMask = list( )
-
- src.g_dither = new src.h_type( src )
- src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.g_dither.name = "Mask"
- src.g_dither.icon_state = "dither12g"
- src.g_dither.layer = 18
- src.g_dither.mouse_opacity = 0
-
- src.alien_view = new src.h_type(src)
- src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.alien_view.name = "Alien"
- src.alien_view.icon_state = "alien"
- src.alien_view.layer = 18
- src.alien_view.mouse_opacity = 0
-
- src.blurry = new src.h_type( src )
- src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.blurry.name = "Blurry"
- src.blurry.icon_state = "blurry"
- src.blurry.layer = 17
- src.blurry.mouse_opacity = 0
-
- src.druggy = new src.h_type( src )
- src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
- src.druggy.name = "Druggy"
- src.druggy.icon_state = "druggy"
- src.druggy.layer = 17
- src.druggy.mouse_opacity = 0
-
- // station explosion cinematic
- src.station_explosion = new src.h_type( src )
- src.station_explosion.icon = 'icons/effects/station_explosion.dmi'
- src.station_explosion.icon_state = "start"
- src.station_explosion.layer = 20
- src.station_explosion.mouse_opacity = 0
- src.station_explosion.screen_loc = "1,3"
-
- var/obj/screen/using
-
-
-//Radio
- using = new src.h_type( src )
- using.name = "radio"
- using.dir = SOUTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "radio"
- using.screen_loc = ui_movi_old
- using.layer = 20
- src.adding += using
-
-//Generic overlays
-
- using = new src.h_type(src) //Right hud bar
- using.dir = SOUTH
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
- using.layer = 19
- src.adding += using
-
- using = new src.h_type(src) //Lower hud bar
- using.dir = EAST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
- using.layer = 19
- src.adding += using
-
- using = new src.h_type(src) //Corner Button
- using.dir = NORTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.screen_loc = "EAST+1,SOUTH-1"
- using.layer = 19
- src.adding += using
-
-
-//Module select
-
- using = new src.h_type( src )
- using.name = "module1"
- using.dir = SOUTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "inv1"
- using.screen_loc = ui_inv1
- using.layer = 20
- src.adding += using
- mymob:inv1 = using
-
- using = new src.h_type( src )
- using.name = "module2"
- using.dir = SOUTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "inv2"
- using.screen_loc = ui_inv2
- using.layer = 20
- src.adding += using
- mymob:inv2 = using
-
- using = new src.h_type( src )
- using.name = "module3"
- using.dir = SOUTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "inv3"
- using.screen_loc = ui_inv3
- using.layer = 20
- src.adding += using
- mymob:inv3 = using
-
-//End of module select
-
-//Intent
- using = new src.h_type( src )
- using.name = "act_intent"
- using.dir = SOUTHWEST
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
- using.layer = 20
- src.adding += using
- action_intent = using
-
- using = new src.h_type( src )
- using.name = "arrowleft"
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "s_arrow"
- using.dir = WEST
- using.screen_loc = ui_iarrowleft
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "arrowright"
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "s_arrow"
- using.dir = EAST
- using.screen_loc = ui_iarrowright
- using.layer = 19
- src.adding += using
-//End of Intent
-
-//Cell
- mymob:cells = new /obj/screen( null )
- mymob:cells.icon = 'icons/mob/screen1_robot.dmi'
- mymob:cells.icon_state = "charge-empty"
- mymob:cells.name = "cell"
- mymob:cells.screen_loc = ui_toxin
-
-//Health
- mymob.healths = new /obj/screen( null )
- mymob.healths.icon = 'icons/mob/screen1_robot.dmi'
- mymob.healths.icon_state = "health0"
- mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
-
-//Installed Module
- mymob.hands = new /obj/screen( null )
- mymob.hands.icon = 'icons/mob/screen1_robot.dmi'
- mymob.hands.icon_state = "nomod"
- mymob.hands.name = "module"
- mymob.hands.screen_loc = ui_dropbutton
-
-//Module Panel
- using = new src.h_type( src )
- using.name = "panel"
- using.icon = 'icons/mob/screen1_robot.dmi'
- using.icon_state = "panel"
- using.screen_loc = ui_throw
- using.layer = 19
- src.adding += using
-
-//Store
- mymob.throw_icon = new /obj/screen(null)
- mymob.throw_icon.icon = 'icons/mob/screen1_robot.dmi'
- mymob.throw_icon.icon_state = "store"
- mymob.throw_icon.name = "store"
- mymob.throw_icon.screen_loc = ui_hand
-
-//Temp
- mymob.bodytemp = new /obj/screen( null )
- mymob.bodytemp.icon_state = "temp0"
- mymob.bodytemp.name = "body temperature"
- mymob.bodytemp.screen_loc = ui_temp
-
-//does nothing (fire and oxy)
- mymob.oxygen = new /obj/screen( null )
- mymob.oxygen.icon = 'icons/mob/screen1_robot.dmi'
- mymob.oxygen.icon_state = "oxy0"
- mymob.oxygen.name = "oxygen"
- mymob.oxygen.screen_loc = ui_oxygen
-
- mymob.fire = new /obj/screen( null )
- mymob.fire.icon = 'icons/mob/screen1_robot.dmi'
- mymob.fire.icon_state = "fire0"
- mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
-
-
-
- mymob.pullin = new /obj/screen( null )
- mymob.pullin.icon = 'icons/mob/screen1_robot.dmi'
- mymob.pullin.icon_state = "pull0"
- mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull
-
- mymob.blind = new /obj/screen( null )
- mymob.blind.icon = 'icons/mob/screen1_full.dmi''
- mymob.blind.icon_state = "blackimageoverlay"
- mymob.blind.name = " "
- mymob.blind.screen_loc = "1,1"
- mymob.blind.layer = 0
- mymob.blind.mouse_opacity = 0
-
- mymob.flash = new /obj/screen( null )
- mymob.flash.icon = 'icons/mob/screen1_robot.dmi'
- mymob.flash.icon_state = "blank"
- mymob.flash.name = "flash"
- mymob.flash.screen_loc = "1,1 to 15,15"
- mymob.flash.layer = 17
-
- mymob.sleep = new /obj/screen( null )
- mymob.sleep.icon = 'icons/mob/screen1_robot.dmi'
- mymob.sleep.icon_state = "sleep0"
- mymob.sleep.name = "sleep"
- mymob.sleep.screen_loc = ui_sleep
-
- mymob.rest = new /obj/screen( null )
- mymob.rest.icon = 'icons/mob/screen1_robot.dmi'
- mymob.rest.icon_state = "rest0"
- mymob.rest.name = "rest"
- mymob.rest.screen_loc = ui_rest
-
-
- mymob.zone_sel = new /obj/screen/zone_sel( null )
- mymob.zone_sel.overlays.Cut()
- mymob.zone_sel.overlays += image("icon" = 'icons/mob/zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
-
- mymob.client.screen = null
-
- mymob.client.screen += list(mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
- mymob.client.screen += src.adding + src.other
-
- return
diff --git a/code/unused/hivebot/life.dm b/code/unused/hivebot/life.dm
deleted file mode 100644
index 9ab6e8c3e89..00000000000
--- a/code/unused/hivebot/life.dm
+++ /dev/null
@@ -1,227 +0,0 @@
-/mob/living/silicon/hivebot/Life()
- set invisibility = 0
- set background = 1
-
- if (src.monkeyizing)
- return
-
- if (src.stat != 2)
- use_power()
-
- src.blinded = null
-
- clamp_values()
-
- handle_regular_status_updates()
-
- if(client)
- src.shell = 0
- handle_regular_hud_updates()
- update_items()
- if(dependent)
- mainframe_check()
-
- update_canmove()
-
-
-/mob/living/silicon/hivebot
- proc
- clamp_values()
-
- stunned = max(min(stunned, 10),0)
- paralysis = max(min(paralysis, 1), 0)
- weakened = max(min(weakened, 15), 0)
- sleeping = max(min(sleeping, 1), 0)
- setToxLoss(0)
- setOxyLoss(0)
-
- use_power()
-
- if (src.energy)
- if(src.energy <= 0)
- death()
-
- else if (src.energy <= 10)
- src.module_active = null
- src.module_state_1 = null
- src.module_state_2 = null
- src.module_state_3 = null
- src.energy -=1
- else
- if(src.module_state_1)
- src.energy -=1
- if(src.module_state_2)
- src.energy -=1
- if(src.module_state_3)
- src.energy -=1
- src.energy -=1
- src.blinded = 0
- src.stat = 0
- else
- src.blinded = 1
- src.stat = 1
-
- update_canmove()
- if(paralysis || stunned || weakened || buckled) canmove = 0
- else canmove = 1
-
-
- handle_regular_status_updates()
-
- health = src.health_max - (getFireLoss() + getBruteLoss())
-
- if(health <= 0)
- death()
-
- if (src.stat != 2) //Alive.
-
- if (src.paralysis || src.stunned || src.weakened) //Stunned etc.
- if (src.stunned > 0)
- src.stunned--
- src.stat = 0
- if (src.weakened > 0)
- src.weakened--
- src.lying = 0
- src.stat = 0
- if (src.paralysis > 0)
- src.paralysis--
- src.blinded = 0
- src.lying = 0
- src.stat = 1
-
- else //Not stunned.
- src.lying = 0
- src.stat = 0
-
- else //Dead.
- src.blinded = 1
- src.stat = 2
-
- src.density = !( src.lying )
-
- if ((src.sdisabilities & 1))
- src.blinded = 1
- if ((src.sdisabilities & 4))
- src.ear_deaf = 1
-
- if (src.eye_blurry > 0)
- src.eye_blurry--
- src.eye_blurry = max(0, src.eye_blurry)
-
- if (src.druggy > 0)
- src.druggy--
- src.druggy = max(0, src.druggy)
-
- return 1
-
- handle_regular_hud_updates()
-
- if (src.stat == 2 || M_XRAY in src.mutations)
- src.sight |= SEE_TURFS
- src.sight |= SEE_MOBS
- src.sight |= SEE_OBJS
- src.see_in_dark = 8
- src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- else if (src.stat != 2)
- src.sight &= ~SEE_MOBS
- src.sight &= ~SEE_TURFS
- src.sight &= ~SEE_OBJS
- src.see_in_dark = 8
- src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
-
- if (src.healths)
- if (src.stat != 2)
- switch(health)
- if(health_max to INFINITY)
- src.healths.icon_state = "health0"
- if(src.health_max*0.80 to src.health_max)
- src.healths.icon_state = "health1"
- if(src.health_max*0.60 to src.health_max*0.80)
- src.healths.icon_state = "health2"
- if(src.health_max*0.40 to src.health_max*0.60)
- src.healths.icon_state = "health3"
- if(src.health_max*0.20 to src.health_max*0.40)
- src.healths.icon_state = "health4"
- if(0 to health_max*0.20)
- src.healths.icon_state = "health5"
- else
- src.healths.icon_state = "health6"
- else
- src.healths.icon_state = "health7"
-
- if (src.cells)
- switch(src.energy)
- if(src.energy_max*0.75 to INFINITY)
- src.cells.icon_state = "charge4"
- if(0.5*src.energy_max to 0.75*src.energy_max)
- src.cells.icon_state = "charge3"
- if(0.25*src.energy_max to 0.5*src.energy_max)
- src.cells.icon_state = "charge2"
- if(0 to 0.25*src.energy_max)
- src.cells.icon_state = "charge1"
- else
- src.cells.icon_state = "charge0"
-
- switch(src.bodytemperature) //310.055 optimal body temp
-
- if(335 to INFINITY)
- src.bodytemp.icon_state = "temp2"
- if(320 to 335)
- src.bodytemp.icon_state = "temp1"
- if(300 to 320)
- src.bodytemp.icon_state = "temp0"
- if(260 to 300)
- src.bodytemp.icon_state = "temp-1"
- else
- src.bodytemp.icon_state = "temp-2"
-
-
- if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]"
-
- src.client.screen -= src.hud_used.blurry
- src.client.screen -= src.hud_used.druggy
- src.client.screen -= src.hud_used.vimpaired
-
- if ((src.blind && src.stat != 2))
- if ((src.blinded))
- src.blind.layer = 18
- else
- src.blind.layer = 0
-
- if (src.disabilities & 1)
- src.client.screen += src.hud_used.vimpaired
-
- if (src.eye_blurry)
- src.client.screen += src.hud_used.blurry
-
- if (src.druggy)
- src.client.screen += src.hud_used.druggy
-
- if (src.stat != 2)
- if (src.machine)
- if (!( src.machine.check_eye(src) ))
- src.reset_view(null)
- else
- if(!client.adminobs)
- reset_view(null)
-
- return 1
-
-
- update_items()
- if (src.client)
- src.client.screen -= src.contents
- src.client.screen += src.contents
- if(src.module_state_1)
- src.module_state_1:screen_loc = ui_inv1
- if(src.module_state_2)
- src.module_state_2:screen_loc = ui_inv2
- if(src.module_state_3)
- src.module_state_3:screen_loc = ui_inv3
-
- mainframe_check()
- if(mainframe)
- if(mainframe.stat == 2)
- mainframe.return_to(src)
- else
- death()
\ No newline at end of file
diff --git a/code/unused/hivebot/login.dm b/code/unused/hivebot/login.dm
deleted file mode 100644
index 3a811b4c8a9..00000000000
--- a/code/unused/hivebot/login.dm
+++ /dev/null
@@ -1,15 +0,0 @@
-/mob/living/silicon/hivebot/Login()
- ..()
-
- update_clothing()
-
- if (!isturf(src.loc))
- src.client.eye = src.loc
- src.client.perspective = EYE_PERSPECTIVE
- if (src.stat == 2)
- src.verbs += /client/proc/ghost
- if(src.real_name == "Hiveborg")
- src.real_name += " "
- src.real_name += "-[rand(1, 999)]"
- src.name = src.real_name
- return
\ No newline at end of file
diff --git a/code/unused/hivebot/mainframe.dm b/code/unused/hivebot/mainframe.dm
deleted file mode 100644
index e629a8f7d20..00000000000
--- a/code/unused/hivebot/mainframe.dm
+++ /dev/null
@@ -1,181 +0,0 @@
-/mob/living/silicon/hive_mainframe/New()
- Namepick()
-
-/mob/living/silicon/hive_mainframe/Life()
- if (src.stat == 2)
- return
- else
- src.updatehealth()
-
- if (src.health <= 0)
- death()
- return
-
- if(src.force_mind)
- if(!src.mind)
- if(src.client)
- src.mind = new
- src.mind.key = src.key
- src.mind.current = src
- src.force_mind = 0
-
-/mob/living/silicon/hive_mainframe/Stat()
- ..()
- statpanel("Status")
- if (src.client.statpanel == "Status")
- if(emergency_shuttle)
- if(emergency_shuttle.has_eta() && !emergency_shuttle.returned())
- var/timeleft = emergency_shuttle.estimate_arrival_time()
- if (timeleft)
- stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
-/*
- if(ticker.mode.name == "AI malfunction")
- stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]")
-*/
-
-/mob/living/silicon/hive_mainframe/updatehealth()
- if (src.nodamage == 0)
- src.health = 100 - src.getFireLoss() - src.getBruteLoss()
- else
- src.health = 100
- src.stat = 0
-
-/mob/living/silicon/hive_mainframe/death(gibbed)
- src.stat = 2
- src.canmove = 0
- if(src.blind)
- src.blind.layer = 0
- src.sight |= SEE_TURFS
- src.sight |= SEE_MOBS
- src.sight |= SEE_OBJS
- src.see_in_dark = 8
- src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- src.lying = 1
- src.icon_state = "hive_main-crash"
-
- var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch
- mind.store_memory("Time of death: [tod]", 0)
-
- if (src.key)
- spawn(50)
- if(src.key && src.stat == 2)
- src.verbs += /client/proc/ghost
- return ..(gibbed)
-
-
-/mob/living/silicon/hive_mainframe/say_understands(var/other)
- if (istype(other, /mob/living/carbon/human))
- return 1
- if (istype(other, /mob/living/silicon/robot))
- return 1
- if (istype(other, /mob/living/silicon/hivebot))
- return 1
- if (istype(other, /mob/living/silicon/ai))
- return 1
- if (istype(other, /mob/living/carbon/human/tajaran))
- return 1
- return ..()
-
-/mob/living/silicon/hive_mainframe/say_quote(var/text)
- var/ending = copytext(text, length(text))
-
- if (ending == "?")
- return "queries, \"[text]\"";
- else if (ending == "!")
- return "declares, \"[copytext(text, 1, length(text))]\"";
-
- return "states, \"[text]\"";
-
-
-/mob/living/silicon/hive_mainframe/proc/return_to(var/mob/user)
- if(user.mind)
- user.mind.transfer_to(src)
- spawn(20)
- user:shell = 1
- user:real_name = "Robot [pick(rand(1, 999))]"
- user:name = user:real_name
-
-
- return
-
-/mob/living/silicon/hive_mainframe/verb/cmd_deploy_to()
- set category = "Mainframe Commands"
- set name = "Deploy to shell."
- deploy_to()
-
-/mob/living/silicon/hive_mainframe/verb/deploy_to()
-
- if(usr.stat == 2)
- usr << "You can't deploy because you are dead!"
- return
-
- var/list/bodies = new/list()
-
- for(var/mob/living/silicon/hivebot/H in mob_list)
- if(H.z == src.z)
- if(H.shell)
- if(!H.stat)
- bodies += H
-
- var/target_shell = input(usr, "Which body to control?") as null|anything in bodies
-
- if (!target_shell)
- return
-
- else if(src.mind)
- spawn(30)
- target_shell:mainframe = src
- target_shell:dependent = 1
- target_shell:real_name = src.name
- target_shell:name = target_shell:real_name
- src.mind.transfer_to(target_shell)
- return
-
-
-/client/proc/MainframeMove(n,direct,var/mob/living/silicon/hive_mainframe/user)
- return
-/obj/hud/proc/hive_mainframe_hud()
- return
-
-
-
-
-
-/mob/living/silicon/hive_mainframe/Login()
- ..()
- update_clothing()
- for(var/S in src.client.screen)
- del(S)
- src.flash = new /obj/screen( null )
- src.flash.icon_state = "blank"
- src.flash.name = "flash"
- src.flash.screen_loc = "1,1 to 15,15"
- src.flash.layer = 17
- src.blind = new /obj/screen( null )
- src.blind.icon_state = "black"
- src.blind.name = " "
- src.blind.screen_loc = "1,1 to 15,15"
- src.blind.layer = 0
- src.client.screen += list( src.blind, src.flash )
- if(!isturf(src.loc))
- src.client.eye = src.loc
- src.client.perspective = EYE_PERSPECTIVE
- if (src.stat == 2)
- src.verbs += /client/proc/ghost
- return
-
-
-
-/mob/living/silicon/hive_mainframe/proc/Namepick()
- var/randomname = pick(ai_names)
- var/newname = input(src,"You are the a Mainframe Unit. Would you like to change your name to something else?", "Name change",randomname)
-
- if (length(newname) == 0)
- newname = randomname
-
- if (newname)
- if (length(newname) >= 26)
- newname = copytext(newname, 1, 26)
- newname = replacetext(newname, ">", "'")
- src.real_name = newname
- src.name = newname
\ No newline at end of file
diff --git a/code/unused/jobs.dm b/code/unused/jobs.dm
deleted file mode 100644
index a8b1b2b4bb6..00000000000
--- a/code/unused/jobs.dm
+++ /dev/null
@@ -1,291 +0,0 @@
-//WORK IN PROGRESS CONTENT
-
-//Project coder: Errorage
-
-//Readme: As part of the UI upgrade project, the intention here is for each job to have
-//somewhat customizable loadouts. Players will be able to pick between jumpsuits, shoes,
-//and other items. This datum will be used for all jobs and code will reference it.
-//adding new jobs will be a matter of adding this datum.to a list of jobs.
-
-#define VITAL_PRIORITY_JOB 5
-#define HIGH_PRIORITY_JOB 4
-#define PRIORITY_JOB 3
-#define LOW_PRIORITY_JOB 2
-#define ASSISTANT_PRIORITY_JOB 1
-#define NO_PRIORITY_JOB 0
-
-/datum/job
- //Basic information
- var/title = "Untitled" //The main (default) job title/name
- var/list/alternative_titles = list() //Alternative job titles/names (alias)
- var/job_number_at_round_start = 0 //Number of jobs that can be assigned at round start
- var/job_number_total = 0 //Number of jobs that can be assigned total
- var/list/bosses = list() //List of jobs which have authority over this job by default.
- var/admin_only = 0 //If this is set to 1, the job is not available on the spawn screen
- var/description = "" //A description of the job to be displayed when requested on the spawn screen
- var/guides = "" //A string with links to relevent guides (likely the wiki)
- var/department = "" //This is used to group jobs into departments, which means that if you don't get your desired jobs, you get another job from the same department
- var/job_type = "SS13" //SS13, NT or ANTAGONIST
- var/can_be_traitor = 1
- var/can_be_changeling = 1
- var/can_be_wizard = 1
- var/can_be_cultist = 1
- var/can_be_rev_head = 1
- var/is_head_position = 0
-
- //Job conditions
- var/change_to_mob = "Human" //The type of mob which this job will change you to (alien,cyborg,human...)
- var/change_to_mutantrace = "" //What mutantrace you will be once you get this job
-
- //Random job assignment priority
- var/assignment_priority = NO_PRIORITY_JOB //This variable determins the priority of assignment
- //VITAL_PRIORITY_JOB = Absolutely vital (Someone will get assigned every round) - Use VERY, VERY lightly
- //HIGH_PRIORITY_JOB = High priority - Assibned before the other jobs, candidates compete on equal terms
- //PRIORITY_JOB = Priorized (Standard priority) - Candidates compete by virtue of priority (choice 1 > choice 2 > choice 3...)
- //LOW_PRIORITY_JOB = Low priority (Low-priority (librarian))
- //ASSISTANT_PRIORITY_JOB = Assistant-level (Only filled when all the other jobs have been assigned)
- //NO_PRIORITY_JOB = Skipped om assignment (Admin-only jobs should have this level)
-
-
-
- //Available equipment - The first thing listed is understood as the default setup.
- var/list/equipment_ears = list() //list of possible ear-wear items
- var/list/equipment_glasses = list() //list of possible glasses
- var/list/equipment_gloves = list() //list of possible gloves
- var/list/equipment_head = list() //list of possible headgear/helmets/hats
- var/list/equipment_mask = list() //list of possible masks
- var/list/equipment_shoes = list() //list of possible shoes
- var/list/equipment_suit = list() //list of possible suits
- var/list/equipment_under = list() //list of possible jumpsuits
- var/list/equipment_belt = list() //list of possible belt-slot items
- var/list/equipment_back = list() //list of possible back-slot items
- var/obj/equipment_pda //default pda type
- var/obj/equipment_id //default id type
-
- New(var/param_title, var/list/param_alternative_titles = list(), var/param_jobs_at_round_start = 0, var/param_global_max = 0, var/list/param_bosses = list(), var/param_admin_only = 0)
- title = param_title
- alternative_titles = param_alternative_titles
- job_number_at_round_start = param_jobs_at_round_start
- job_number_total = param_global_max
- bosses = param_bosses
- admin_only = param_admin_only
-
- //This proc tests to see if the given alias (job title/alternative job title) corresponds to this job.
- //Returns 1 if it is, else returns 0
- proc/is_job_alias(var/alias)
- if(alias == title)
- return 1
- if(alias in alternative_titles)
- return 1
- return 0
-
-/datum/jobs
- var/list/datum/job/all_jobs = list()
-
- proc/get_all_jobs()
- return all_jobs
-
- //This proc returns all the jobs which are NOT admin only
- proc/get_normal_jobs()
- var/list/datum/job/normal_jobs = list()
- for(var/datum/job/J in all_jobs)
- if(!J.admin_only)
- normal_jobs += J
- return normal_jobs
-
- //This proc returns all the jobs which are admin only
- proc/get_admin_jobs()
- var/list/datum/job/admin_jobs = list()
- for(var/datum/job/J in all_jobs)
- if(J.admin_only)
- admin_jobs += J
- return admin_jobs
-
- //This proc returns the job datum of the job with the alias or job title given as the argument. Returns an empty string otherwise.
- proc/get_job(var/alias)
- for(var/datum/job/J in all_jobs)
- if(J.is_job_alias(alias))
- return J
- return ""
-
- //This proc returns a string with the default job title for the job with the given alias. Returns an empty string otherwise.
- proc/get_job_title(var/alias)
- for(var/datum/job/J in all_jobs)
- if(J.is_job_alias(alias))
- return J.title
- return ""
-
- //This proc returns all the job datums of the workers whose boss has the alias provided. (IE Engineer under Chief Engineer, etc.)
- proc/get_jobs_under(var/boss_alias)
- var/boss_title = get_job_title(boss_alias)
- var/list/datum/job/employees = list()
- for(var/datum/job/J in all_jobs)
- if(boss_title in J.bosses)
- employees += J
- return employees
-
- //This proc returns the chosen vital and high priority jobs that the person selected. It goes from top to bottom of the list, until it finds a job which does not have such priority.
- //Example: Choosing (in this order): CE, Captain, Engineer, RD will only return CE and Captain, as RD is assumed as being an unwanted choice.
- //This proc is used in the allocation algorithm when deciding vital and high priority jobs.
- proc/get_prefered_high_priority_jobs()
- var/list/datum/job/hp_jobs = list()
- for(var/datum/job/J in all_jobs)
- if(J.assignment_priority == HIGH_PRIORITY_JOB || J.assignment_priority == VITAL_PRIORITY_JOB)
- hp_jobs += J
- else
- break
- return hp_jobs
-
- //If only priority is given, it will return the jobs of only that priority, if end_priority is set it will return the jobs with their priority higher or equal to var/priority and lower or equal to end_priority. end_priority must be higher than 0.
- proc/get_jobs_by_priority(var/priority, var/end_priority = 0)
- var/list/datum/job/priority_jobs = list()
- if(end_priority)
- if(end_priority < priority)
- return
- for(var/datum/job/J in all_jobs)
- if(J.assignment_priority >= priority && J.assignment_priority <= end_priority)
- priority_jobs += J
- else
- for(var/datum/job/J in all_jobs)
- if(J.assignment_priority == priority)
- priority_jobs += J
- return priority_jobs
-
-//This datum is used in the plb allocation algorithm to make life easier, not used anywhere else.
-/datum/player_jobs
- var/mob/new_player/player
- var/datum/jobs/selected_jobs
-
-var/datum/jobs/jobs = new/datum/jobs()
-
-proc/setup_jobs()
- var/datum/job/JOB
-
- JOB = new/datum/job("Station Engineer")
- JOB.alternative_titles = list("Structural Engineer","Engineer","Student of Engineering")
- JOB.job_number_at_round_start = 5
- JOB.job_number_total = 5
- JOB.bosses = list("Chief Engineer")
- JOB.admin_only = 0
- JOB.description = "Engineers are tasked with the maintenance of the station. Be it maintaining the power grid or rebuilding damaged sections."
- JOB.guides = ""
- JOB.equipment_ears = list(/obj/item/device/radio/headset/headset_eng)
- JOB.equipment_glasses = list()
- JOB.equipment_gloves = list()
- JOB.equipment_head = list(/obj/item/clothing/head/helmet/hardhat)
- JOB.equipment_mask = list()
- JOB.equipment_shoes = list(/obj/item/clothing/shoes/orange,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/black)
- JOB.equipment_suit = list(/obj/item/clothing/suit/storage/hazardvest)
- JOB.equipment_under = list(/obj/item/clothing/under/rank/engineer,/obj/item/clothing/under/color/yellow)
- JOB.equipment_belt = list(/obj/item/weapon/storage/belt/utility/full)
- JOB.equipment_back = list(/obj/item/weapon/storage/backpack/industrial,/obj/item/weapon/storage/backpack)
- JOB.equipment_pda = /obj/item/device/pda/engineering
- JOB.equipment_id = /obj/item/weapon/card/id
-
- jobs.all_jobs += JOB
-
-//This proc will dress the mob (employee) in the default way for the specified job title/job alias
-proc/dress_for_job_default(var/mob/living/carbon/human/employee as mob, var/job_alias)
- if(!ishuman(employee))
- return
-
- //TODO ERRORAGE - UNFINISHED
- var/datum/job/JOB = jobs.get_job(job_alias)
- if(JOB)
- var/item = JOB.equipment_ears[1]
- employee.equip_to_slot_or_del(new item(employee), employee.slot_l_ear)
- item = JOB.equipment_under[1]
- employee.equip_to_slot_or_del(new item(employee), employee.slot_w_uniform)
-
-
- /*
- src.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
- src.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack)
- src.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng (src), slot_l_ear) // -- TLE
- src.equip_to_slot_or_del(new /obj/item/device/pda/engineering(src), slot_belt)
- src.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform)
- src.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(src), slot_shoes)
- src.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/hardhat(src), slot_head)
- src.equip_to_slot_or_del(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage
- //src.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), slot_gloves) removed as part of Dangercon 2011, approved by Urist_McDorf --Errorage
- src.equip_to_slot_or_del(new /obj/item/device/t_scanner(src), slot_r_store)
- */
-
-
-//This algorithm works in 5 steps:
-//1: Assignment of wizard / nuke members (if appropriate game mode)
-//2: Assignment of jobs based on preferenes
-// 2.1: Assignment of vital and high priority jobs. Candidates compete on equal terms. If the vital jobs are not filled, a random candidate is chosen to fill them,
-// 2.2: Assignment of the rest of the jobs based on player preference,
-//3: Assignment of remaining jobs for remaining players based on chosen departments
-//4: Random assignment of remaining jobs for remaining players based on assignment priority
-//5: Assignment of traitor / changeling to assigned roles (if appropriate game mode)
-proc/assignment_algorithm(var/list/mob/new_player/players)
- for(var/mob/new_player/PLAYER in players)
- if(!PLAYER.client)
- players -= PLAYER
- continue
- if(!PLAYER.ready)
- players -= PLAYER
- continue
-
- var/list/datum/job/vital_jobs = list()
- var/list/datum/job/high_priority_jobs = list()
- var/list/datum/job/priority_jobs = list()
- var/list/datum/job/low_priority_jobs = list()
- var/list/datum/job/assistant_jobs = list()
- var/list/datum/job/not_assigned_jobs = list()
-
- for(var/datum/job/J in jobs)
- switch(J.assignment_priority)
- if(5)
- vital_jobs += J
- if(4)
- high_priority_jobs += J
- if(3)
- priority_jobs += J
- if(2)
- low_priority_jobs += J
- if(1)
- assistant_jobs += J
- if(0)
- not_assigned_jobs += J
-
- var/list/datum/player_jobs/player_jobs = list() //This datum only holds a mob/new_player and a datum/jobs. The first is the player, the 2nd is the player's selected jobs, from the preferences datum.
-
- for(var/mob/new_player/NP in players)
- var/datum/player_jobs/PJ = new/datum/player_jobs
- PJ.player = NP
- PJ.selected_jobs = NP.preferences.wanted_jobs
- player_jobs += PJ
-
- //At this point we have the player_jobs list filled. Next up we have to assign all vital and high priority positions.
-
- var/list/datum/job/hp_jobs = jobs.get_jobs_by_priority( HIGH_PRIORITY_JOB, VITAL_PRIORITY_JOB )
-
- for(var/datum/job/J in hp_jobs)
- var/list/mob/new_player/candidates = list()
- for(var/datum/player_jobs/PJ in player_jobs)
- if(J in PJ.selected_jobs)
- candidates += PJ.player
- var/mob/new_player/chosen_player
- if(candidates)
- chosen_player = pick(candidates)
- else
- if(J.assignment_priority == VITAL_PRIORITY_JOB)
- if(players) //Just in case there are more vital jobs than there are players.
- chosen_player = pick(players)
- if(chosen_player)
- chosen_player.mind.assigned_job = J
- players -= chosen_player
- //TODO ERRORAGE - add capability for hp jobs with more than one slots.
-
-
-
-
- //1: vital and high priority jobs, assigned on equal terms
-
- //TODO ERRORAGE - UNFINISHED
-
-
-//END OF WORK IN PROGRESS CONTENT
diff --git a/code/unused/mining/datum_processing_recipe.dm b/code/unused/mining/datum_processing_recipe.dm
deleted file mode 100644
index c9331cf0728..00000000000
--- a/code/unused/mining/datum_processing_recipe.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************Ore to material recipes datum**************************/
-
-var/list/AVAILABLE_ORES = typesof(/obj/item/weapon/ore)
-
-/datum/material_recipe
- var/name
- var/list/obj/item/weapon/ore/recipe
- var/obj/prod_type //produced material/object type
-
- New(var/param_name, var/param_recipe, var/param_prod_type)
- name = param_name
- recipe = param_recipe
- prod_type = param_prod_type
-
-var/list/datum/material_recipe/MATERIAL_RECIPES = list(
- new/datum/material_recipe("Metal",list(/obj/item/weapon/ore/iron),/obj/item/stack/sheet/metal),
- new/datum/material_recipe("Glass",list(/obj/item/weapon/ore/glass),/obj/item/stack/sheet/glass),
- new/datum/material_recipe("Gold",list(/obj/item/weapon/ore/gold),/obj/item/stack/sheet/mineral/gold),
- new/datum/material_recipe("Silver",list(/obj/item/weapon/ore/silver),/obj/item/stack/sheet/mineral/silver),
- new/datum/material_recipe("Diamond",list(/obj/item/weapon/ore/diamond),/obj/item/stack/sheet/mineral/diamond),
- new/datum/material_recipe("Plasma",list(/obj/item/weapon/ore/plasma),/obj/item/stack/sheet/mineral/plasma),
- new/datum/material_recipe("Bananium",list(/obj/item/weapon/ore/clown),/obj/item/stack/sheet/mineral/clown),
- )
\ No newline at end of file
diff --git a/code/unused/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm
deleted file mode 100644
index dc4ca5b3af0..00000000000
--- a/code/unused/mining/machine_craftlathe_unused.dm
+++ /dev/null
@@ -1,235 +0,0 @@
-/*********************NEW AUTOLATHE / CRAFT LATHE***********************/
-
-var/list/datum/craftlathe_item/CRAFT_ITEMS = list()
-var/CRAFT_ITEMS_SETUP = 1 //this should probably be a pre-game thing, but i'll do it so the first lathe2 that's created will set-up the recipes.
-
-proc/check_craftlathe_recipe(var/list/param_recipe)
- if(param_recipe.len != 9)
- return
- var/i
- var/match = 0 //this one counts if there is at least one non-"" ingredient.
- for(var/datum/craftlathe_item/CI in CRAFT_ITEMS)
- match = 0
- for(i = 1; i <= 9; i++)
- if(CI.recipe[i] != param_recipe[i])
- match = 0 //use this so it passes by the match > 0 check below, otherwise i'd need a new variable to tell the return CI below that the check failed
- break
- if(CI.recipe[i] != "")
- match++
- if(match > 0)
- return CI
- return 0
-
-/datum/craftlathe_item
- var/id = "" //must be unique for each item type. used to create recipes
- var/name = "unknown" //what the lathe will show as it's contents
- var/list/recipe = list("","","","","","","","","") //the 9 items here represent what items need to be placed in the lathe to produce this item.
- var/item_type = null //this is used on items like sheets which are added when inserted into the lathe.
- var/amount = 1
- var/amount_attackby = 1
-
-/datum/craftlathe_item/New(var/param_id,var/param_name,var/param_amount,var/param_ammount_per_attackby,var/list/param_recipe,var/param_type = null)
- ..()
- id = param_id
- name = param_name
- recipe = param_recipe
- item_type = param_type
- amount = param_amount;
- amount_attackby = param_ammount_per_attackby
- return
-
-//this proc checks the recipe you give in it's parameter with the entire list of available items. If any match, it returns the item from CRAFT_ITEMS. the returned item should not be changed!!
-
-/obj/machinery/autolathe2
- name = "Craft lathe"
- icon_state = "autolathe"
- density = 1
- anchored = 1
- var/datum/craftlathe_item/selected = null
- var/datum/craftlathe_item/make = null
- var/list/datum/craftlathe_item/craft_contents = list()
- var/list/current_recipe = list("","","","","","","","","")
-
-/obj/machinery/autolathe2/New()
- ..()
- if(CRAFT_ITEMS_SETUP)
- CRAFT_ITEMS_SETUP = 0
- build_recipes()
- return
-
-/obj/machinery/autolathe2/attack_hand(mob/user as mob)
- var/dat
- dat = text("Craft Lathe
")
- dat += text("| ")
-
- dat += text("Materials ")
- var/datum/craftlathe_item/CI
- var/i
- for(i = 1; i <= craft_contents.len; i++)
- CI = craft_contents[i]
- if (CI == selected)
- dat += text("[CI.name] ([CI.amount]) ")
- else
- dat += text("[CI.name] ([CI.amount]) ")
-
- dat += text(" | ")
-
- dat += text("Crafting Table ")
-
- dat += text(" ")
-
- var/j = 0
- var/k = 0
- for (i = 0; i < 3; i++)
- dat += text(" ")
- for (j = 1; j <= 3; j++)
- k = i * 3 + j
- if (current_recipe[k])
- dat += text(" | [current_recipe[k]] | ")
- else
- dat += text(" ---- | ")
- dat += text(" ")
- dat += text(" ")
-
- dat += text("
")
- dat += text("Will make: ")
- if (make)
- dat += text("[make.name]")
- else
- dat += text("nothing useful")
-
- dat += text(" |
")
- user << browse("[dat]", "window=craft")
-
-/obj/machinery/autolathe2/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["remove"])
- var/n = text2num(href_list["remove"])
- if(!n || n < 1 || n > 9)
- return
- current_recipe[n] = ""
- if(href_list["select"])
- var/n = text2num(href_list["select"])
- if(!n || n < 1 || n > 9)
- return
- selected = craft_contents[n]
- if(href_list["add"])
- var/n = text2num(href_list["add"])
- if(!n || n < 1 || n > 9)
- return
- if(selected)
- current_recipe[n] = selected.id
- if(href_list["make"])
- var/datum/craftlathe_item/MAKE = check_craftlathe_recipe(src.current_recipe)
- if(MAKE)
- for (var/datum/craftlathe_item/CI2 in craft_contents)
- if(CI2.id == MAKE.id)
- CI2.amount += CI2.amount_attackby
- src.updateUsrDialog()
- return
- craft_contents += new/datum/craftlathe_item(MAKE.id,MAKE.name,MAKE.amount,MAKE.amount_attackby,MAKE.recipe,MAKE.item_type)
- var/datum/craftlathe_item/CI = check_craftlathe_recipe(src.current_recipe)
- if(CI)
- make = CI
- else
- make = null
- src.updateUsrDialog()
-
-
-
-/obj/machinery/autolathe2/attackby(obj/item/weapon/W as obj, mob/user as mob)
- usr.machine = src
- src.add_fingerprint(usr)
- for (var/datum/craftlathe_item/CI in CRAFT_ITEMS)
- if(W.type == CI.item_type)
- for (var/datum/craftlathe_item/CI2 in craft_contents)
- if(CI2.item_type == W.type)
- CI2.amount += CI2.amount_attackby
- rmv_item(W)
- return
- craft_contents += new/datum/craftlathe_item(CI.id,CI.name,CI.amount,CI.amount_attackby,CI.recipe,CI.item_type)
- rmv_item(W)
- return
- src.updateUsrDialog()
- return
-
-/obj/machinery/autolathe2/proc/rmv_item(obj/item/W as obj)
- if(istype(W,/obj/item/stack))
- var/obj/item/stack/S = W
- S.amount--
- if (S.amount <= 0)
- del(S)
- else
- del(W)
-
-/obj/machinery/autolathe2/proc/build_recipes()
- //Parameters: ID, Name, Amount, Amount_added_per_attackby, Recipe, Object type
- CRAFT_ITEMS += new/datum/craftlathe_item("METAL","Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/metal)
- CRAFT_ITEMS += new/datum/craftlathe_item("R METAL","Reinforced Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/r_metal)
- CRAFT_ITEMS += new/datum/craftlathe_item("GLASS","Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass)
- CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/rglass)
- CRAFT_ITEMS += new/datum/craftlathe_item("GOLD","Gold",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/gold)
- CRAFT_ITEMS += new/datum/craftlathe_item("SILVER","Silver",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/silver)
- CRAFT_ITEMS += new/datum/craftlathe_item("DIAMOND","Diamond",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/diamond)
- CRAFT_ITEMS += new/datum/craftlathe_item("PLASMA","Plasma",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/plasma)
- CRAFT_ITEMS += new/datum/craftlathe_item("URANIUM","Uranium",1,1,list("","","","","","","","",""),/obj/item/weapon/ore/mineral/uranium)
- CRAFT_ITEMS += new/datum/craftlathe_item("CLOWN","Bananium",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/clown)
- CRAFT_ITEMS += new/datum/craftlathe_item("ADMAMANTINE","Adamantine",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/adamantine)
- CRAFT_ITEMS += new/datum/craftlathe_item("SCREWS","Screws",9,9,list("","","","","METAL","","","METAL",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("COGS","Cogs",9,9,list("","METAL","","METAL","METAL","METAL","","METAL",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("SWITCH","Switch",12,12,list("METAL","","METAL","METAL","METAL","","METAL","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("KEYBOARD","Keyboard",1,1,list("","","","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH"))
- CRAFT_ITEMS += new/datum/craftlathe_item("M PANEL","Metal Panel",10,10,list("","","","","METAL","METAL","","METAL","METAL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("CASE","Equipment Case",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("G PANEL","Glass Panel",10,10,list("","","","","GLASS","GLASS","","GLASS","GLASS"))
- CRAFT_ITEMS += new/datum/craftlathe_item("SCREEN","Screen",1,1,list("","GLASS","","GLASS","PLASMA","GLASS","","GLASS",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("EL SILVER","Electronics Silver",30,30,list("","","","","SILVER","","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("EL GOLD","Electronics Gold",6,6,list("","","","","GOLD","","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("TINTED GL","Tinted Glass",2,2,list("","METAL","","","GLASS","","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("TANK VALVE","Tank Transfer Valuve",1,1,list("","PIPE","","","PIPE","SWITCH","","PIPE",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("PIPE","Pipe",1,1,list("","M PANEL","","","M PANEL","","","M PANEL",""))
-
- CRAFT_ITEMS += new/datum/craftlathe_item("CB FRAME","Circuitboard Frame",1,1,list("","","","M PANEL","G PANEL","M PANEL","G PANEL","M PANEL","G PANEL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("ROM","ROM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","","EL SILVER","EL SILVER","EL SILVER","EL SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("RAM","RAM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("PROCESSOR","Processor",1,1,list("EL GOLD","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("ANTENNA","Antenna",1,1,list("","","EL SILVER","","","EL SILVER","EL SILVER","EL SILVER","EL SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("OP RECEPTOR","Optic Receptor",1,1,list("G PANEL","G PANEL","G PANEL","","EL GOLD","","G PANEL","G PANEL","G PANEL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("THERMAL OP R","Thermal Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","DIAMOND","DIAMOND","","OP RECEPTOR",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("MASON OP R","Mason Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","EL SILVER","EL SILVER","","OP RECEPTOR",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("EAR FRAME","Earpiece Frame",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("RADIO M","Radio Module",1,1,list("","ANTENNA","","","ROM","","CB FRAME","CB FRAME","CB FRAME"))
- CRAFT_ITEMS += new/datum/craftlathe_item("EARPIECE","Radio Earpiece",1,1,list("","","","","RADIO M","","","EAR FRAME",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("EARMUFFS","Earmuffs",1,1,list("","M PANEL","","EAR FRAME","","EAR FRAME","","",""))
-
- CRAFT_ITEMS += new/datum/craftlathe_item("GLASSES FRAME","Glasses Frame",1,1,list("M PANEL","","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("MASONS","Mason Scanners",1,1,list("","","","MASON OP R","GLASSES FRAME","MASON OP R","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("THERMALS","Thermal Scanners",1,1,list("","","","THERMAL OP R","GLASSES FRAME","THERMAL OP R","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("SUNGLASSES","Sunglasses",1,1,list("","","","TINTED GL","GLASSES FRAME","TINTED GL","","",""))
-
- CRAFT_ITEMS += new/datum/craftlathe_item("HELMET FR","Helmet Frame",1,1,list("METAL","METAL","METAL","METAL","","METAL","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("HELMET","Security Helmet",1,1,list("R METAL","R METAL","R METAL","R METAL","HELMET FR","R METAL","","GLASS",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("HOS HELMET","HoS Helmet",1,1,list("SILVER","GOLD","SILVER","SILVER","HELMET","SILVER","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("HARDHAT","Hardhat",1,1,list("","FLASHLIGHT","","","HELMET FR","","","",""))
- CRAFT_ITEMS += new/datum/craftlathe_item("SWAT HELMET","SWAT Helmet",1,1,list("","","","","HELMET","","R GLASS","R GLASS","R GLASS"))
- CRAFT_ITEMS += new/datum/craftlathe_item("WELDING HELM","Welding Helmet",1,1,list("","","","","HELMET FR","","TINTED GL","TINTED GL","TINTED GL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("SPACE HELMET","Space Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","HELMET FR","SILVER","R GLASS","R GLASS","R GLASS"))
- CRAFT_ITEMS += new/datum/craftlathe_item("RIG HELMET","RIG Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","SPACE HELMET","SILVER","R GLASS","R GLASS","R GLASS"))
- CRAFT_ITEMS += new/datum/craftlathe_item("GAS MASK","Gas Mask",1,1,list("","","","","HELMET FR","TANK VALVE","","G PANEL",""))
-
- CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR FRAME","Armor Frame",1,1,list("R METAL","","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR","Armored Vest",1,1,list("R METAL","","R METAL","R METAL","ARMOR FRAME","R METAL","R METAL","R METAL","R METAL"))
- CRAFT_ITEMS += new/datum/craftlathe_item("HOS ARMOR","HoS Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","ARMOR","URANIUM","URANIUM","R METAL","URANIUM"))
- CRAFT_ITEMS += new/datum/craftlathe_item("CAP ARMOR","Captain Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","HOS ARMOR","URANIUM","URANIUM","R METAL","URANIUM"))
- CRAFT_ITEMS += new/datum/craftlathe_item("SPACE S FR","Space Suit Frame",1,1,list("SILVER","","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("SPACE SUIT","Space Suit",1,1,list("SILVER","","SILVER","RAM","SPACE S FR","RADIO M","SILVER","SILVEr","SILVER"))
- CRAFT_ITEMS += new/datum/craftlathe_item("RIG SUIT","RIG Suit",1,1,list("SILVER","","SILVER","SILVER","SPACE SUIT","SILVER","SILVER","SILVER","SILVER"))
- //TODO: Flashlight, type paths
- return
-
-
-
- return
\ No newline at end of file
diff --git a/code/unused/mining/machine_gas_extractor_unused.dm b/code/unused/mining/machine_gas_extractor_unused.dm
deleted file mode 100644
index 7a833016cf4..00000000000
--- a/code/unused/mining/machine_gas_extractor_unused.dm
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************Gas extractor**************************/
-
-/obj/machinery/mineral/gasextractor
- name = "Gas extractor"
- desc = "A machine which extracts gasses from ores"
- icon = 'icons/obj/computer.dmi'
- icon_state = "aiupload"
- var/obj/machinery/mineral/input = null
- var/obj/machinery/mineral/output = null
- var/message = "";
- var/processing = 0
- var/newtoxins = 0
- density = 1
- anchored = 1.0
-
-/obj/machinery/mineral/gasextractor/New()
- ..()
- spawn( 5 )
- for (var/dir in cardinal)
- src.input = locate(/obj/machinery/mineral/input, get_step(src, dir))
- if(src.input) break
- for (var/dir in cardinal)
- src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
- if(src.output) break
- return
- return
-
-/obj/machinery/mineral/gasextractor/attack_hand(user as mob)
-
- if(processing == 1)
- user << "The machine is processing"
- return
-
- var/dat
- dat = text("input connection status: ")
- if (input)
- dat += text("CONNECTED")
- else
- dat += text("NOT CONNECTED")
- dat += text("
output connection status: ")
- if (output)
- dat += text("CONNECTED")
- else
- dat += text("NOT CONNECTED")
-
- dat += text("
Extract gas")
-
- dat += text("
Message: [message]")
-
- user << browse("[dat]", "window=purifier")
-
-/obj/machinery/mineral/gasextractor/Topic(href, href_list)
- if(..())
- return
-
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["extract"])
- if (src.output)
- if (locate(/obj/machinery/portable_atmospherics/canister,output.loc))
- newtoxins = 0
- processing = 1
- var/obj/item/weapon/ore/O
- while(locate(/obj/item/weapon/ore/plasma, input.loc) && locate(/obj/machinery/portable_atmospherics/canister,output.loc))
- O = locate(/obj/item/weapon/ore/plasma, input.loc)
- if (istype(O,/obj/item/weapon/ore/plasma))
- var/obj/machinery/portable_atmospherics/canister/C
- C = locate(/obj/machinery/portable_atmospherics/canister,output.loc)
- C.air_contents.toxins += 100
- newtoxins += 100
- del(O)
- sleep(5);
- processing = 0;
- message = "Canister filled with [newtoxins] units of toxins"
- else
- message = "No canister found"
- src.updateUsrDialog()
- return
diff --git a/code/unused/mining/machine_purifier_unused.dm b/code/unused/mining/machine_purifier_unused.dm
deleted file mode 100644
index 1dd47a4fc3e..00000000000
--- a/code/unused/mining/machine_purifier_unused.dm
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************Mineral purifier (not used, replaced with mineral processing unit)**************************/
-
-/obj/machinery/mineral/purifier
- name = "Ore Purifier"
- desc = "A machine which makes building material out of ores"
- icon = 'icons/obj/computer.dmi'
- icon_state = "aiupload"
- var/obj/machinery/mineral/input = null
- var/obj/machinery/mineral/output = null
- var/processed = 0
- var/processing = 0
- density = 1
- anchored = 1.0
-
-/obj/machinery/mineral/purifier/attack_hand(user as mob)
-
- if(processing == 1)
- user << "The machine is processing"
- return
-
- var/dat
- dat = text("input connection status: ")
- if (input)
- dat += text("CONNECTED")
- else
- dat += text("NOT CONNECTED")
- dat += text("
output connection status: ")
- if (output)
- dat += text("CONNECTED")
- else
- dat += text("NOT CONNECTED")
-
- dat += text("
Purify")
-
- dat += text("
found: [processed]")
- user << browse("[dat]", "window=purifier")
-
-/obj/machinery/mineral/purifier/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["purify"])
- if (src.output)
- processing = 1;
- var/obj/item/weapon/ore/O
- processed = 0;
- while(locate(/obj/item/weapon/ore, input.loc))
- O = locate(/obj/item/weapon/ore, input.loc)
- if (istype(O,/obj/item/weapon/ore/iron))
- new /obj/item/stack/sheet/metal(output.loc)
- del(O)
- if (istype(O,/obj/item/weapon/ore/diamond))
- new /obj/item/stack/sheet/mineral/diamond(output.loc)
- del(O)
- if (istype(O,/obj/item/weapon/ore/plasma))
- new /obj/item/stack/sheet/mineral/plasma(output.loc)
- del(O)
- if (istype(O,/obj/item/weapon/ore/gold))
- new /obj/item/stack/sheet/mineral/gold(output.loc)
- del(O)
- if (istype(O,/obj/item/weapon/ore/silver))
- new /obj/item/stack/sheet/mineral/silver(output.loc)
- del(O)
- if (istype(O,/obj/item/weapon/ore/uranium))
- new /obj/item/weapon/ore/mineral/uranium(output.loc)
- del(O)
- /*if (istype(O,/obj/item/weapon/ore/adamantine))
- new /obj/item/weapon/ore/adamantine(output.loc)
- del(O)*/ //Dunno what this area does so I'll keep it commented out for now -Durandan
- processed++
- sleep(5);
- processing = 0;
- src.updateUsrDialog()
- return
-
-
-/obj/machinery/mineral/purifier/New()
- ..()
- spawn( 5 )
- for (var/dir in cardinal)
- src.input = locate(/obj/machinery/mineral/input, get_step(src, dir))
- if(src.input) break
- for (var/dir in cardinal)
- src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
- if(src.output) break
- return
- return
diff --git a/code/unused/mining/mine_generator_unused.dm b/code/unused/mining/mine_generator_unused.dm
deleted file mode 100644
index 9cc7f54ce69..00000000000
--- a/code/unused/mining/mine_generator_unused.dm
+++ /dev/null
@@ -1,174 +0,0 @@
-/**********************Random mine generator************************/
-
-//this item is intended to give the effect of entering the mine, so that light gradually fades
-/obj/effect/mine_generator
- name = "Random mine generator"
- anchored = 1
- unacidable = 1
- var/turf/last_loc
- var/turf/target_loc
- var/turf/start_loc
- var/randXParam //the value of these two parameters are generated by the code itself and used to
- var/randYParam //determine the random XY parameters
- var/mineDirection = 3
- /*
- 0 = none
- 1 = N
- 2 = NNW
- 3 = NW
- 4 = WNW
- 5 = W
- 6 = WSW
- 7 = SW
- 8 = SSW
- 9 = S
- 10 = SSE
- 11 = SE
- 12 = ESE
- 13 = E
- 14 = ENE
- 15 = NE
- 16 = NNE
- */
-
-/obj/effect/mine_generator/New()
- last_loc = src.loc
- var/i
- for(i = 0; i < 50; i++)
- gererateTargetLoc()
- //target_loc = locate(last_loc.x + rand(5), last_loc.y + rand(5), src.z)
- fillWithAsteroids()
- del(src)
- return
-
-
-/obj/effect/mine_generator/proc/gererateTargetLoc() //this proc determines where the next square-room will end.
- switch(mineDirection)
- if(1)
- randXParam = 0
- randYParam = 4
- if(2)
- randXParam = 1
- randYParam = 3
- if(3)
- randXParam = 2
- randYParam = 2
- if(4)
- randXParam = 3
- randYParam = 1
- if(5)
- randXParam = 4
- randYParam = 0
- if(6)
- randXParam = 3
- randYParam = -1
- if(7)
- randXParam = 2
- randYParam = -2
- if(8)
- randXParam = 1
- randYParam = -3
- if(9)
- randXParam = 0
- randYParam = -4
- if(10)
- randXParam = -1
- randYParam = -3
- if(11)
- randXParam = -2
- randYParam = -2
- if(12)
- randXParam = -3
- randYParam = -1
- if(13)
- randXParam = -4
- randYParam = 0
- if(14)
- randXParam = -3
- randYParam = 1
- if(15)
- randXParam = -2
- randYParam = 2
- if(16)
- randXParam = -1
- randYParam = 3
- target_loc = last_loc
- if (randXParam > 0)
- target_loc = locate(target_loc.x+rand(randXParam),target_loc.y,src.z)
- if (randYParam > 0)
- target_loc = locate(target_loc.x,target_loc.y+rand(randYParam),src.z)
- if (randXParam < 0)
- target_loc = locate(target_loc.x-rand(-randXParam),target_loc.y,src.z)
- if (randYParam < 0)
- target_loc = locate(target_loc.x,target_loc.y-rand(-randXParam),src.z)
- if (mineDirection == 1 || mineDirection == 5 || mineDirection == 9 || mineDirection == 13) //if N,S,E,W, turn quickly
- if(prob(50))
- mineDirection += 2
- else
- mineDirection -= 2
- if(mineDirection < 1)
- mineDirection += 16
- else
- if(prob(50))
- if(prob(50))
- mineDirection += 1
- else
- mineDirection -= 1
- if(mineDirection < 1)
- mineDirection += 16
- return
-
-
-/obj/effect/mine_generator/proc/fillWithAsteroids()
-
- if(last_loc)
- start_loc = last_loc
-
- if(start_loc && target_loc)
- var/x1
- var/y1
-
- var/turf/line_start = start_loc
- var/turf/column = line_start
-
- if(start_loc.x <= target_loc.x)
- if(start_loc.y <= target_loc.y) //GOING NORTH-EAST
- for(y1 = start_loc.y; y1 <= target_loc.y; y1++)
- for(x1 = start_loc.x; x1 <= target_loc.x; x1++)
- new/turf/simulated/floor/plating/airless/asteroid(column)
- column = get_step(column,EAST)
- line_start = get_step(line_start,NORTH)
- column = line_start
- last_loc = target_loc
- return
- else //GOING NORTH-WEST
- for(y1 = start_loc.y; y1 >= target_loc.y; y1--)
- for(x1 = start_loc.x; x1 <= target_loc.x; x1++)
- new/turf/simulated/floor/plating/airless/asteroid(column)
- column = get_step(column,WEST)
- line_start = get_step(line_start,NORTH)
- column = line_start
- last_loc = target_loc
- return
- else
- if(start_loc.y <= target_loc.y) //GOING SOUTH-EAST
- for(y1 = start_loc.y; y1 <= target_loc.y; y1++)
- for(x1 = start_loc.x; x1 >= target_loc.x; x1--)
- new/turf/simulated/floor/plating/airless/asteroid(column)
- column = get_step(column,EAST)
- line_start = get_step(line_start,SOUTH)
- column = line_start
- last_loc = target_loc
- return
- else //GOING SOUTH-WEST
- for(y1 = start_loc.y; y1 >= target_loc.y; y1--)
- for(x1 = start_loc.x; x1 >= target_loc.x; x1--)
- new/turf/simulated/floor/plating/airless/asteroid(column)
- column = get_step(column,WEST)
- line_start = get_step(line_start,SOUTH)
- column = line_start
- last_loc = target_loc
- return
-
-
- return
\ No newline at end of file
diff --git a/code/unused/mining/rail_unused.dm b/code/unused/mining/rail_unused.dm
deleted file mode 100644
index bedc268715f..00000000000
--- a/code/unused/mining/rail_unused.dm
+++ /dev/null
@@ -1,338 +0,0 @@
-/**********************Rail track**************************/
-
-/obj/machinery/rail_track
- name = "Rail track"
- icon = 'icons/obj/mining.dmi'
- icon_state = "rail"
- dir = 2
- var/id = null //this is needed for switches to work Set to the same on the whole length of the track
- anchored = 1
-
-/**********************Rail intersection**************************/
-
-/obj/machinery/rail_track/intersections
- name = "Rail track intersection"
- icon_state = "rail_intersection"
-
-/obj/machinery/rail_track/intersections/attack_hand(user as mob)
- switch (dir)
- if (1) dir = 5
- if (5) dir = 4
- if (4) dir = 9
- if (9) dir = 2
- if (2) dir = 10
- if (10) dir = 8
- if (8) dir = 6
- if (6) dir = 1
- return
-
-/obj/machinery/rail_track/intersections/NSE
- name = "Rail track T intersection"
- icon_state = "rail_intersection_NSE"
- dir = 2
-
-/obj/machinery/rail_track/intersections/NSE/attack_hand(user as mob)
- switch (dir)
- if (1) dir = 5
- if (2) dir = 5
- if (5) dir = 9
- if (9) dir = 2
- return
-
-/obj/machinery/rail_track/intersections/SEW
- name = "Rail track T intersection"
- icon_state = "rail_intersection_SEW"
- dir = 8
-
-/obj/machinery/rail_track/intersections/SEW/attack_hand(user as mob)
- switch (dir)
- if (8) dir = 6
- if (4) dir = 6
- if (6) dir = 5
- if (5) dir = 8
- return
-
-/obj/machinery/rail_track/intersections/NSW
- name = "Rail track T intersection"
- icon_state = "rail_intersection_NSW"
- dir = 2
-
-/obj/machinery/rail_track/intersections/NSW/attack_hand(user as mob)
- switch (dir)
- if (1) dir = 10
- if (2) dir = 10
- if (10) dir = 6
- if (6) dir = 2
- return
-
-/obj/machinery/rail_track/intersections/NEW
- name = "Rail track T intersection"
- icon_state = "rail_intersection_NEW"
- dir = 8
-
-/obj/machinery/rail_track/intersections/NEW/attack_hand(user as mob)
- switch (dir)
- if (4) dir = 9
- if (8) dir = 9
- if (9) dir = 10
- if (10) dir = 8
- return
-
-/**********************Rail switch**************************/
-
-/obj/machinery/rail_switch
- name = "Rail switch"
- icon = 'icons/obj/mining.dmi'
- icon_state = "rail"
- dir = 2
- icon = 'icons/obj/recycling.dmi'
- icon_state = "switch-off"
- var/obj/machinery/rail_track/track = null
- var/id //used for to change the track pieces
-
-/obj/machinery/rail_switch/New()
- spawn(10)
- src.track = locate(/obj/machinery/rail_track, get_step(src, NORTH))
- if(track)
- id = track.id
- return
-
-/obj/machinery/rail_switch/attack_hand(user as mob)
- user << "You switch the rail track's direction"
- for (var/obj/machinery/rail_track/T in world)
- if (T.id == src.id)
- var/obj/machinery/rail_car/C = locate(/obj/machinery/rail_car, T.loc)
- if (C)
- switch (T.dir)
- if(1)
- switch(C.direction)
- if("N") C.direction = "S"
- if("S") C.direction = "N"
- if("E") C.direction = "S"
- if("W") C.direction = "S"
- if(2)
- switch(C.direction)
- if("N") C.direction = "S"
- if("S") C.direction = "N"
- if("E") C.direction = "S"
- if("W") C.direction = "S"
- if(4)
- switch(C.direction)
- if("N") C.direction = "E"
- if("S") C.direction = "E"
- if("E") C.direction = "W"
- if("W") C.direction = "E"
- if(8)
- switch(C.direction)
- if("N") C.direction = "E"
- if("S") C.direction = "E"
- if("E") C.direction = "W"
- if("W") C.direction = "E"
- if(5)
- switch(C.direction)
- if("N") C.direction = "S"
- if("S") C.direction = "E"
- if("E") C.direction = "S"
- if("W") C.direction = "S"
- if(6)
- switch(C.direction)
- if("N") C.direction = "S"
- if("S") C.direction = "W"
- if("E") C.direction = "S"
- if("W") C.direction = "S"
- if(9)
- switch(C.direction)
- if("N") C.direction = "E"
- if("S") C.direction = "E"
- if("E") C.direction = "N"
- if("W") C.direction = "E"
- if(10)
- switch(C.direction)
- if("N") C.direction = "W"
- if("S") C.direction = "W"
- if("E") C.direction = "W"
- if("W") C.direction = "N"
- return
-
-/**********************Rail car**************************/
-
-/obj/machinery/rail_car
- name = "Rail car"
- icon = 'icons/obj/storage.dmi'
- icon_state = "miningcar"
- var/direction = "S" //S = south, N = north, E = east, W = west. Determines whichw ay it'll look first
- var/moving = 0;
- anchored = 1
- density = 1
- var/speed = 0
- var/slowing = 0
- var/atom/movable/load = null //what it's carrying
-
-/obj/machinery/rail_car/attack_hand(user as mob)
- if (moving == 0)
- processing_items.Add(src)
- moving = 1
- else
- processing_items.Remove(src)
- moving = 0
- return
-
-/*
-for (var/client/C)
- C << "Dela."
-*/
-
-/obj/machinery/rail_car/MouseDrop_T(var/atom/movable/C, mob/user)
-
- if(user.stat)
- return
-
- if (!istype(C) || C.anchored || get_dist(user, src) > 1 || get_dist(src,C) > 1 )
- return
-
- if(ismob(C))
- load(C)
-
-
-/obj/machinery/rail_car/proc/load(var/atom/movable/C)
-
- if(get_dist(C, src) > 1)
- return
- //mode = 1
-
- C.loc = src.loc
- sleep(2)
- C.loc = src
- load = C
-
- C.pixel_y += 9
- if(C.layer < layer)
- C.layer = layer + 0.1
- overlays += C
-
- if(ismob(C))
- var/mob/M = C
- if(M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
-
- //mode = 0
- //send_status()
-
-/obj/machinery/rail_car/proc/unload(var/dirn = 0)
- if(!load)
- return
-
- overlays.Cut()
-
- load.loc = src.loc
- load.pixel_y -= 9
- load.layer = initial(load.layer)
- if(ismob(load))
- var/mob/M = load
- if(M.client)
- M.client.perspective = MOB_PERSPECTIVE
- M.client.eye = src
-
-
- if(dirn)
- step(load, dirn)
-
- load = null
-
- // in case non-load items end up in contents, dump every else too
- // this seems to happen sometimes due to race conditions
- // with items dropping as mobs are loaded
-
- for(var/atom/movable/AM in src)
- AM.loc = src.loc
- AM.layer = initial(AM.layer)
- AM.pixel_y = initial(AM.pixel_y)
- if(ismob(AM))
- var/mob/M = AM
- if(M.client)
- M.client.perspective = MOB_PERSPECTIVE
- M.client.eye = src
-
-/obj/machinery/rail_car/relaymove(var/mob/user)
- if(user.stat)
- return
- if(load == user)
- unload(0)
- return
-
-/obj/machinery/rail_car/process()
- if (moving == 1)
- if (slowing == 1)
- if (speed > 0)
- speed--;
- if (speed == 0)
- slowing = 0
- else
- if (speed < 10)
- speed++;
- var/i = 0
- for (i = 0; i < speed; i++)
- if (moving == 1)
- switch (direction)
- if ("S")
- for (var/obj/machinery/rail_track/R in locate(src.x,src.y-1,src.z))
- if (R.dir == 10)
- direction = "W"
- if (R.dir == 9)
- direction = "E"
- if (R.dir == 2 || R.dir == 1 || R.dir == 10 || R.dir == 9)
- for (var/mob/living/M in locate(src.x,src.y-1,src.z))
- step(M,get_dir(src,R))
- step(src,get_dir(src,R))
- break
- else
- moving = 0
- speed = 0
- if ("N")
- for (var/obj/machinery/rail_track/R in locate(src.x,src.y+1,src.z))
- if (R.dir == 5)
- direction = "E"
- if (R.dir == 6)
- direction = "W"
- if (R.dir == 5 || R.dir == 1 || R.dir == 6 || R.dir == 2)
- for (var/mob/living/M in locate(src.x,src.y+1,src.z))
- step(M,get_dir(src,R))
- step(src,get_dir(src,R))
- break
- else
- moving = 0
- speed = 0
- if ("E")
- for (var/obj/machinery/rail_track/R in locate(src.x+1,src.y,src.z))
- if (R.dir == 6)
- direction = "S"
- if (R.dir == 10)
- direction = "N"
- if (R.dir == 4 || R.dir == 8 || R.dir == 10 || R.dir == 6)
- for (var/mob/living/M in locate(src.x+1,src.y,src.z))
- step(M,get_dir(src,R))
- step(src,get_dir(src,R))
- break
- else
- moving = 0
- speed = 0
- if ("W")
- for (var/obj/machinery/rail_track/R in locate(src.x-1,src.y,src.z))
- if (R.dir == 9)
- direction = "N"
- if (R.dir == 5)
- direction = "S"
- if (R.dir == 8 || R.dir == 9 || R.dir == 5 || R.dir == 4)
- for (var/mob/living/M in locate(src.x-1,src.y,src.z))
- step(M,get_dir(src,R))
- step(src,get_dir(src,R))
- break
- else
- moving = 0
- speed = 0
- sleep(1)
- else
- processing_items.Remove(src)
- moving = 0
- return
\ No newline at end of file
diff --git a/code/unused/mining/spaceship_builder_unused.dm b/code/unused/mining/spaceship_builder_unused.dm
deleted file mode 100644
index 42b4f4e3af1..00000000000
--- a/code/unused/mining/spaceship_builder_unused.dm
+++ /dev/null
@@ -1,173 +0,0 @@
-/**********************Spaceship builder area definitions**************************/
-
-/area/shipbuilder
- requires_power = 0
- luminosity = 1
- sd_lighting = 0
-
-/area/shipbuilder/station
- name = "shipbuilder station"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship1
- name = "shipbuilder ship1"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship2
- name = "shipbuilder ship2"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship3
- name = "shipbuilder ship3"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship4
- name = "shipbuilder ship4"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship5
- name = "shipbuilder ship5"
- icon_state = "teleporter"
-
-/area/shipbuilder/ship6
- name = "shipbuilder ship6"
- icon_state = "teleporter"
-
-
-/**********************Spaceship builder**************************/
-
-/obj/machinery/spaceship_builder
- name = "Robotic Fabricator"
- icon = 'icons/obj/surgery.dmi'
- icon_state = "fab-idle"
- density = 1
- anchored = 1
- var/metal_amount = 0
- var/operating = 0
- var/area/currentShuttleArea = null
- var/currentShuttleName = null
-
-/obj/machinery/spaceship_builder/proc/buildShuttle(var/shuttle)
-
- var/shuttleat = null
- var/shuttleto = "/area/shipbuilder/station"
-
- var/req_metal = 0
- switch(shuttle)
- if("hopper")
- shuttleat = "/area/shipbuilder/ship1"
- currentShuttleName = "Planet hopper"
- req_metal = 25000
- if("bus")
- shuttleat = "/area/shipbuilder/ship2"
- currentShuttleName = "Blnder Bus"
- req_metal = 60000
- if("dinghy")
- shuttleat = "/area/shipbuilder/ship3"
- currentShuttleName = "Space dinghy"
- req_metal = 100000
- if("van")
- shuttleat = "/area/shipbuilder/ship4"
- currentShuttleName = "Boxvan MMDLVI"
- req_metal = 120000
- if("secvan")
- shuttleat = "/area/shipbuilder/ship5"
- currentShuttleName = "Boxvan MMDLVI - Security edition"
- req_metal = 125000
- if("station4")
- shuttleat = "/area/shipbuilder/ship6"
- currentShuttleName = "Space station 4"
- req_metal = 250000
-
- if (metal_amount - req_metal < 0)
- return
-
- if (!shuttleat)
- return
-
- var/area/from = locate(shuttleat)
- var/area/dest = locate(shuttleto)
-
- if(!from || !dest)
- return
-
- currentShuttleArea = shuttleat
- from.move_contents_to(dest)
- return
-
-/obj/machinery/spaceship_builder/proc/scrapShuttle()
-
- var/shuttleat = "/area/shipbuilder/station"
- var/shuttleto = currentShuttleArea
-
- if (!shuttleto)
- return
-
- var/area/from = locate(shuttleat)
- var/area/dest = locate(shuttleto)
-
- if(!from || !dest)
- return
-
- currentShuttleArea = null
- currentShuttleName = null
- from.move_contents_to(dest)
- return
-
-/obj/machinery/spaceship_builder/attackby(obj/item/weapon/W as obj, mob/user as mob)
-
- if(operating == 1)
- user << "The machine is processing"
- return
-
- if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
- usr << "\red You don't have the dexterity to do this!"
- return
-
- if (istype(W, /obj/item/stack/sheet/metal))
-
- var/obj/item/stack/sheet/metal/M = W
- user << "\blue You insert all the metal into the machine."
- metal_amount += M.amount * 100
- del(M)
-
- else
- return attack_hand(user)
- return
-
-/obj/machinery/spaceship_builder/attack_hand(user as mob)
- if(operating == 1)
- user << "The machine is processing"
- return
-
- var/dat
- dat = text("Ship fabricator
")
- dat += text("Current ammount of Metal: [metal_amount]
")
-
- if (currentShuttleArea)
- dat += text("Currently building
[currentShuttleName]
")
- dat += text("Build the shuttle to your liking.
This shuttle will be sent to the station in the event of an emergency along with a centcom emergency shuttle.")
- dat += text("
Scrap current shuttle")
- else
- dat += text("Available ships to build:
")
- dat += text("Planet hopper - Tiny, Slow, 25000 metal
")
- dat += text("Blunder Bus - Small, Decent speed, 60000 metal
")
- dat += text("Space dinghy - Medium size, Decent speed, 100000 metal
")
- dat += text("Boxvan MMDLVIr - Medium size, Decent speed, 120000 metal
")
- dat += text("Boxvan MMDLVI - Security eidition - Large, Rather slow, 125000 metal
")
- dat += text("Space station 4 - Huge, Slow, 250000 metal
")
-
- user << browse("[dat]", "window=shipbuilder")
-
-
-/obj/machinery/spaceship_builder/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["ship"])
- buildShuttle(href_list["ship"])
- if(href_list["scrap"])
- scrapShuttle(href_list["ship"])
- src.updateUsrDialog()
- return
\ No newline at end of file
diff --git a/code/unused/musicplayer.dm b/code/unused/musicplayer.dm
deleted file mode 100644
index ced7630e882..00000000000
--- a/code/unused/musicplayer.dm
+++ /dev/null
@@ -1,15 +0,0 @@
-// this toggle doesn't save across rounds
-/mob/verb/musictoggle()
- set name = "Music Toggle"
- if(src.be_music == 0)
- src.be_music = 1
- src << "\blue Music toggled on!"
- return
- src.be_music = 0
- src << "\blue Music toggled off!"
-
-// This checks a var on each area and plays that var
-/area/Entered(mob/A as mob)
- if (A && src.music != "" && A.client && A.be_music != 0 && (A.music_lastplayed != src.music))
- A.music_lastplayed = src.music
- A << sound(src.music, repeat = 0, wait = 0, volume = 20, channel = 1)
diff --git a/code/unused/new_year.dm b/code/unused/new_year.dm
deleted file mode 100644
index 9dba4f3e59c..00000000000
--- a/code/unused/new_year.dm
+++ /dev/null
@@ -1,138 +0,0 @@
-
-/obj/effect/new_year_tree
- name = "The fir"
- desc = "This is a fir. Real fir on dammit spess station. You smell pine-needles."
- icon = 'icons/effects/160x160.dmi'
- icon_state = "new-year-tree"
- anchored = 1
- opacity = 1
- density = 1
- layer = 5
- pixel_x = -64
- //pixel_y = -64
-
-/obj/effect/new_year_tree/attackby(obj/item/W, mob/user)
- if (istype(W, /obj/item/weapon/grab))
- return
- W.loc = src
- if (user.client)
- user.client.screen -= W
- user.u_equip(W)
- var/const/bottom_right_x = 115.0
- var/const/bottom_right_y = 150.0
- var/const/top_left_x = 15.0
- var/const/top_left_y = 15.0
- var/const/bottom_med_x = top_left_x+(bottom_right_x-top_left_x)/2
- var/x = rand(top_left_x,bottom_med_x) //point in half of circumscribing rectangle
- var/y = rand(top_left_y,bottom_right_y)
- /*
- y1=a*x1+b
- y2=a*x2+b b = y2-a*x2
-
- y1=a*x1+ y2-a*x2
- a*(x1-x2)+y2-y1=0
- a = (y1-y2)/(x1-x2)
- */
- var/a = (top_left_y-bottom_right_y)/(top_left_x-bottom_med_x)
- var/b = bottom_right_y-a*bottom_med_x
-
- if (a*x+b < y) //if point is above diagonal top_left -> bottom_median
- x = bottom_med_x + x - top_left_x
- y = bottom_right_y - y + top_left_y
- var/image/I = image(W.icon, W, icon_state = W.icon_state)
- I.pixel_x = x
- I.pixel_y = y
- overlays += I
-/*
-/obj/item/weapon/firbang
- desc = "It is set to detonate in 10 seconds."
- name = "firbang"
- icon = 'icons/obj/grenade.dmi'
- icon_state = "flashbang"
- var/state = null
- var/det_time = 100.0
- w_class = 2.0
- item_state = "flashbang"
- throw_speed = 4
- throw_range = 20
- flags = FPRINT | TABLEPASS | CONDUCT
- slot_flags = SLOT_BELT
-
-/obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
- if (user.get_active_hand() == src)
- if ((M_CLUMSY in usr.mutations) && prob(50))
- user << "\red Huh? How does this thing work?!"
- src.state = 1
- src.icon_state = "flashbang1"
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
- spawn( 5 )
- prime()
- return
- else if (!( src.state ))
- user << "\red You prime the [src]! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
- spawn( src.det_time )
- prime()
- return
- user.dir = get_dir(user, target)
- user.drop_item()
- var/t = (isturf(target) ? target : target.loc)
- walk_towards(src, t, 3)
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/firbang/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/weapon/firbang/attack_hand()
- walk(src, null, null)
- ..()
- return
-
-/obj/item/weapon/firbang/proc/prime()
- playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
- var/turf/T = get_turf(src)
- if(T)
- var/datum/effect/effect/system/harmless_smoke_spread/smoke = new
- smoke.set_up(3, 0, src.loc)
- smoke.attach(src)
- smoke.start()
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(3, 1, src)
- s.start()
- new /obj/effect/new_year_tree(T)
- del(src)
- return
-
-/obj/item/weapon/firbang/attack_self(mob/user as mob)
- if (!src.state)
- if (M_CLUMSY in user.mutations)
- user << "\red Huh? How does this thing work?!"
- spawn( 5 )
- prime()
- return
- else
- user << "\red You prime the [src]! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- add_fingerprint(user)
- spawn( src.det_time )
- prime()
- return
- return
-
-/*
-/datum/supply_packs/new_year
- name = "New Year Celebration Equipment"
- contains = list("/obj/item/weapon/firbang",
- "/obj/item/weapon/firbang",
- "/obj/item/weapon/firbang",
- "/obj/item/weapon/wrapping_paper",
- "/obj/item/weapon/wrapping_paper",
- "/obj/item/weapon/wrapping_paper")
- cost = 20
- containertype = "/obj/structure/closet/crate"
- containername = "New Year Celebration crate"
-*/
\ No newline at end of file
diff --git a/code/unused/newcombatsystem.dm b/code/unused/newcombatsystem.dm
deleted file mode 100644
index 274581a04e1..00000000000
--- a/code/unused/newcombatsystem.dm
+++ /dev/null
@@ -1,191 +0,0 @@
-//It's not a very big change, but I think melee will benefit from it.
-//Currently will only be restricted to special training weapons to test the balancedness of the system.
-//1)Knockdown, stun and weaken chances are separate and dependant on the part of the body you're aiming at
-//eg a mop will be better applied to legs since it has a higher base knockdown chance than the other disabling states
-//while an energy gun would be better applied to the chest because of the stunning chance.
-//2)Weapons also have a parry chance which is checked every time the one wielding the weapon is attacked in melee
-//in the area is currently aiming at and is able to defend himself.
-//More ideas to come.
-
-//NOTES: doesn't work with armor yet
-
-/obj/item/weapon/training //subclass of weapons that is currently the only one that uses the alternate combat system
- name = "training weapon"
- desc = "A weapon for training the advanced fighting technicues"
- var/chance_parry = 0
- var/chance_weaken = 0
- var/chance_stun = 0
- var/chance_knockdown = 0
- var/chance_knockout = 0
- var/chance_disarm = 0
-
-//chances - 5 is low, 10 is medium, 15 is good
-
-/obj/item/weapon/training/axe //hard-hitting, but doesn't have much in terms of disabling people (except by killing)
- name = "training axe"
- icon_state = "training_axe"
- /*combat stats*/
- force = 15
- chance_parry = 5
- chance_weaken = 10
- chance_stun = 5
- chance_knockdown = 5
- chance_knockout = 5
- chance_disarm = 0
-
-/obj/item/weapon/training/sword //not bad attack, good at parrying and disarming
- name = "training sword"
- icon_state = "training_sword"
- /*combat stats*/
- force = 10
- chance_parry = 15
- chance_weaken = 5
- chance_stun = 0
- chance_knockdown = 5
- chance_knockout = 0
- chance_disarm = 15
-
-/obj/item/weapon/training/staff //not bad attack either, good at tripping and parrying
- name = "training staff"
- icon_state = "training_staff"
- /*combat stats*/
- force = 10
- chance_parry = 15
- chance_weaken = 5
- chance_stun = 0
- chance_knockdown = 15
- chance_knockout = 0
- chance_disarm = 5
-
-/obj/item/weapon/training/mace //worst attack, but has a good chance of stun, knockout or weaken
- name = "training mace"
- icon_state = "training_mace"
- /*combat stats*/
- force = 5
- chance_parry = 0
- chance_weaken = 15
- chance_stun = 10
- chance_knockdown = 0
- chance_knockout = 10
- chance_disarm = 0
-
-/obj/item/weapon/training/attack(target as mob, mob/user as mob)
- var/target_area = attack_location(user.zone_sel.selecting)
- for(var/mob/O in viewers(src,7))
- O << "\red \b [user.name] attacks [target.name] in the [target_area] with [src.name]!"
- if(!target.stat && target.zone_sel.selecting == target_area) //parrying occurs here
- if(istype(target.r_hand,/obj/item/weapon/training)
- if(prob(target.r_hand:chance_parry))
- for(var/mob/O in viewers(src,7))
- O << "\red \b [target.name] deftly parries the attack with [target.r_hand.name]!"
- return
- if(istype(target.l_hand,/obj/item/weapon/training)
- if(prob(target.l_hand:chance_parry))
- for(var/mob/O in viewers(src,7))
- O << "\red \b [target.name] deftly parries the attack with [target.l_hand.name]!"
- return
- target.adjustBruteLoss(-src.force)
-
- var/modifier_knockdown = 1.0
- var/modifier_knockout = 1.0
- var/modifier_stun = 1.0
- var/modifier_weaken = 1.0
- var/modifier_disarm = 0.0
-
- switch(target_area)
- if("eyes")
- modifier_weaken = 2.0
- modifier_stun = 0.5
- modifier_knockdown = 0.0
- if("head")
- modifier_stun = 0.8
- modifier_knockout = 1.5
- modifier_weaken = 1.2
- modifier_knockdown = 0.0
- if("chest")
- if("right arm","r_arm")
- if("left arm","l_arm")
- if("right hand","r_hand")
- if("left hand","l_hand")
- if("groin")
- if("right leg","r_leg")
- if("left leg","l_leg")
- if("right foot","r_foot")
- if("left foot","l_foot")
-
-
-/proc/attack_location(var/initloc = "chest") //proc to randomise actual hit loc based on where you're aiming at
- var/resultloc = "chest" //also forgot hands/feet. bleh
- var/percentage = rand(1,100)
- switch(initloc)
- if("eyes")
- switch(percentage)
- if(1 to 10)
- resultloc = "eyes"
- if(11 to 30)
- resultloc = "head"
- if(31 to 100)
- resultloc = "chest"
- if("head")
- switch(percentage)
- if(1 to 5)
- resultloc = "eyes"
- if(6 to 40)
- resultloc = "head"
- if(41 to 100)
- resultloc = "chest"
- if("chest")
- switch(percentage)
- if(1 to 80)
- resultloc = "chest"
- if(81 to 84)
- resultloc = "right arm"
- if(85 to 88)
- resultloc = "left arm"
- if(89 to 92)
- resultloc = "right leg"
- if(93 to 96)
- resultloc = "left leg"
- if(97 to 98)
- resultloc = "groin"
- if(99 to 100)
- resultloc = "head"
- if("l_arm")
- switch(percentage)
- if(1 to 60)
- resultloc = "left arm"
- if(61 to 100)
- resultloc = "chest"
- if("r_arm")
- switch(percentage)
- if(1 to 60)
- resultloc = "right arm"
- if(61 to 100)
- resultloc = "chest"
- if("groin")
- switch(percentage)
- if(1 to 35)
- resultloc = "groin"
- if(36 to 50)
- resultloc = "left leg"
- if(51 to 65)
- resultloc = "right leg"
- if(66 to 100)
- resultloc = "chest"
- if("l_leg")
- switch(percentage)
- if(1 to 60)
- resultloc = "left leg"
- if(61 to 70)
- resultloc = "groin"
- if(71 to 100)
- resultloc = "chest"
- if("r_leg")
- switch(percentage)
- if(1 to 60)
- resultloc = "right leg"
- if(61 to 70)
- resultloc = "groin"
- if(71 to 100)
- resultloc = "chest"
- return resultloc
\ No newline at end of file
diff --git a/code/unused/optics/beam.dm b/code/unused/optics/beam.dm
deleted file mode 100644
index 0607989fae4..00000000000
--- a/code/unused/optics/beam.dm
+++ /dev/null
@@ -1,178 +0,0 @@
-// the laser beam
-
-
-/obj/effect/beam/laser
- name = "laser beam"
- icon = 'icons/effects/beam.dmi'
- icon_state = "full"
- density = 0
- mouse_opacity = 0
- pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
- flags = TABLEPASS
- var/wavelength // the (vaccuum) wavelength of the beam
- var/width = 1 // 1=thin, 2=medium, 3=wide
-
- var/obj/effect/beam/laser/next
- var/obj/effect/beam/laser/prev
- var/obj/master
-
- New(var/atom/newloc, var/dirn, var/lambda, var/omega=1, var/half=0)
-
- if(!isturf(loc))
- return
-
- //world << "creating beam at ([newloc.x],[newloc.y]) with [dirn] [lambda] [omega] [half]"
-
- icon_state = "[omega]-[half ? "half" : "full"]"
- dir = dirn
- set_wavelength(lambda)
- ..(newloc)
- spawn(0)
- src.propagate()
- src.verbs -= /atom/movable/verb/pull
-
-
-
- proc/propagate()
- var/turf/T = get_step(src, dir)
- if(T)
- if(T.Enter(src))
- next = new(T, dir, wavelength, width, 0)
- next.prev = src
- next.master = src.master
- else
- spawn(5)
- propagate()
-
-
- proc/remove()
- if(next)
- next.remove()
- del(src)
-
-
-
- proc/blocked(var/atom/A)
- return density || opacity
-/*
-/turf/Enter(atom/movable/mover as mob|obj)
- if (!mover || !isturf(mover.loc))
- return 1
-
-
- //First, check objects to block exit that are not on the border
- for(var/obj/obstacle in mover.loc)
- if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle))
- if(!obstacle.CheckExit(mover, src))
- mover.Bump(obstacle, 1)
- return 0
-
- //Now, check objects to block exit that are on the border
- for(var/obj/border_obstacle in mover.loc)
- if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle))
- if(!border_obstacle.CheckExit(mover, src))
- mover.Bump(border_obstacle, 1)
- return 0
-
- //Next, check objects to block entry that are on the border
- for(var/obj/border_obstacle in src)
- if(border_obstacle.flags & ON_BORDER)
- if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle))
- mover.Bump(border_obstacle, 1)
- return 0
-
- //Then, check the turf itself
- if (!src.CanPass(mover, src))
- mover.Bump(src, 1)
- return 0
-
- //Finally, check objects/mobs to block entry that are not on the border
- for(var/atom/movable/obstacle in src)
- if(obstacle.flags & ~ON_BORDER)
- if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle))
- mover.Bump(obstacle, 1)
- return 0
- return 1 //Nothing found to block so return success!
-*/
-
-
- HasEntered(var/atom/movable/AM)
- if(istype(AM, /obj/effect/beam))
- return
- if(blocked(AM))
- remove(src)
- if(prev)
- prev.propagate()
- else if(master)
- master:turn_on()
-
- proc/set_wavelength(var/lambda)
-
- var/w = round(lambda,1) // integer wavelength
- wavelength = lambda
- // first look for cached version of the icon at this wavelength
- var/icon/cached = beam_icons["[w]"]
- if(cached)
- icon = cached
-
- return
-
- // no cached version, so generate a new one
-
- // this maps a wavelength in the range 380-780 nm to an R,G,B,A value
- var/red = 0
- var/green = 0
- var/blue = 0
- var/alpha = 0
-
- switch(w)
- if(380 to 439)
- red = (440-w) / 60
- green = 0
- blue = 1
- if(440 to 489)
- red = 0
- green = (w-440) / 50
- blue = 1
- if(490 to 509)
- red = 0
- green = 1
- blue = (510 - w) / 20
- if(510 to 579)
- red = (w-510) / 70
- green = 1
- blue = 0
- if(580 to 644)
- red = 1
- green = (645-w) / 65
- blue = 0
- if(645 to 780)
- red = 1
- green = 0
- blue = 0
-
- // colour is done, now calculate intensity
- switch(w)
- if(380 to 419)
- alpha = 0.75*(w-380)/40
- if(420 to 700)
- alpha = 0.75
- if(701 to 780)
- alpha = 0.75*(780-w)/80
-
- // remap alpha by intensity gamma
- if(alpha != 0)
- alpha = alpha**0.80
-
- var/icon/I = icon('icons/effects/beam.dmi')
- I.MapColors(red,0,0,0, 0,green,0,0, 0,0,blue,0, 0,0,0,alpha, 0,0,0,0)
- icon = I
-
- beam_icons["[w]"] = I
-
-
-
-// global cache of beam icons
-// this is an assoc list mapping (integer) wavelength to icons
-
-var/list/beam_icons = new()
\ No newline at end of file
diff --git a/code/unused/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm
deleted file mode 100644
index 8838e2d3bfa..00000000000
--- a/code/unused/optics/laser-pointer.dm
+++ /dev/null
@@ -1,73 +0,0 @@
-// A laser pointer. Emits a (tunable) low-power laser beam
-// Used for alignment and testing of the optics system
-
-/obj/item/device/laser_pointer
- name = "laser pointer"
- desc = "A portable low-power laser used for optical system alignment. The label reads: 'Danger: Class IIIa laser device. Avoid direct eye exposure."
- icon = 'optics.dmi'
- icon_state = "pointer0"
- var/on = 0 // true if operating
- var/wavelength = 632 // operation wavelength (nm)
-
- var/gain_peak = 632 // gain peak (nm)
- var/gain_width = 35 // gain bandwidth (nm)
- var/peak_output = 0.005 // max output 5 mW
- layer = OBJ_LAYER + 0.1
-
- w_class = 4
- m_amt = 500
- g_amt = 100
- w_amt = 200
-
- var/obj/effect/beam/laser/beam // the created beam
-
- flags = FPRINT | CONDUCT | TABLEPASS
-
- attack_ai()
- return
-
- attack_paw()
- return
-
- attack_self(var/mob/user)
-
-
- on = !on
- if(on)
- turn_on()
- else
- turn_off()
-
- updateicon()
-
- verb/rotate()
- set name = "Rotate"
- set src in view(1)
- turn_off()
- dir = turn(dir, -90)
- if(on) turn_on()
-
- Move(var/atom/newloc,var/newdir)
- . = ..(newloc,newdir)
- if(on && . && isturf(newloc))
- turn_off()
- turn_on()
- return .
-
- proc/turn_on()
- if(!isturf(loc))
- return
-
- beam = new(loc, dir, wavelength, 1, 1)
- beam.master = src
-
- proc/turn_off()
- if(beam)
- beam.remove()
-
- dropped()
- turn_off()
- turn_on()
-
- proc/updateicon()
- icon_state = "pointer[on]"
\ No newline at end of file
diff --git a/code/unused/optics/mirror.dm b/code/unused/optics/mirror.dm
deleted file mode 100644
index c50d3efc044..00000000000
--- a/code/unused/optics/mirror.dm
+++ /dev/null
@@ -1,83 +0,0 @@
-// Mirror object
-// Part of the optics system
-//
-// reflects laser beams
-// 16 directional states 0/22.5/45/67.5deg to allow for 0/45deg beam angles
-
-
-// ideas:
-// frame/stand icon w/ mirror directional overlay
-// two sets of overlay icons for 0/45 and 22.5/67.5 deg angles
-
-// can rotate cw/acw - need screwdriver to loosen/tighten mirror
-// use wrench to anchor/unanchor frame
-// if touched, gets dirty - fingerprints, which reduce reflectivity
-// if dirty and hit with high-power beam, mirror may shatter
-// some kind of dust accumulation with HasProximity? Could check for mob w/o labcoat etc.
-// can clean with acetone+wipes
-
-/obj/optical/mirror
- icon = 'optical.dmi'
- icon_state = "mirrorA"
- dir = 1
- desc = "A large, optical-grade mirror firmly mounted on a stand."
- flags = FPRINT
- anchored = 0
- var/rotatable = 0 // true if mirror can be rotated
- var/angle = 0 // normal of mirror, 0-15. 0=N, 1=NNE, 2=NE, 3=ENE, 4=E etc
-
-
- New()
- ..()
- set_angle()
-
-
-
- //set the angle from icon_state and dir
- proc/set_angle()
- switch(dir)
- if(1)
- angle = 0
- if(5)
- angle = 2
- if(4)
- angle = 4
- if(6)
- angle = 6
- if(2)
- angle = 8
- if(10)
- angle = 10
- if(8)
- angle = 12
- if(9)
- angle = 14
-
- if(icon_state == "mirrorB") // 22.5deg turned states
- angle++
- return
-
- // set the dir and icon_state from the angle
- proc/set_dir()
- if(angle%2 == 1)
- icon_state = "mirrorB"
- else
- icon_state = "mirrorA"
- switch(round(angle/2)*2)
- if(0)
- dir = 1
- if(2)
- dir = 5
- if(4)
- dir = 4
- if(6)
- dir = 6
- if(8)
- dir = 2
- if(10)
- dir = 10
- if(12)
- dir = 8
- if(14)
- dir = 9
- return
\ No newline at end of file
diff --git a/code/unused/pda2/base_os.dm b/code/unused/pda2/base_os.dm
deleted file mode 100644
index a92a3381e1f..00000000000
--- a/code/unused/pda2/base_os.dm
+++ /dev/null
@@ -1,446 +0,0 @@
-/datum/computer/file/pda_program/os
- proc
- receive_os_command(list/command_list)
- if((!src.holder) || (!src.master) || (!command_list) || !(command_list["command"]))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- return 0
-
-//Main os program: Provides old pda interface and four programs including file browser, notes, messenger, and atmos scan
- main_os
- name = "ThinkOS 7"
- size = 8.0
- var/mode = 0
- //Note vars
- var/note = "Congratulations, your station has chosen the Thinktronic 5150 Personal Data Assistant!"
- var/note_mode = 0 //0 For note editor, 1 for note browser
- var/datum/computer/file/text/note_file = null //If set, save to this file.
- //Messenger vars
- var/list/detected_pdas = list()
- var/message_on = 1
- var/message_silent = 0 //To beep or not to beep, that is the question
- var/message_mode = 0 //0 for pda list, 1 for messages
- var/message_tone = "beep" //Custom ringtone
- var/message_note = null //Current messages in memory (Store as separate file only later??)
- //File browser vars
- var/datum/computer/folder/browse_folder = null
- var/datum/computer/file/clipboard = null //Current file to copy
-
-
-
- receive_os_command(list/command_list)
- if(..())
- return
-
- //world << "[command_list["command"]]"
- return
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- switch(src.mode)
- if(0)
- dat += "PERSONAL DATA ASSISTANT
"
- dat += "Owner: [src.master.owner]
"
-
- dat += "General Functions
"
- dat += ""
-
- dat += "Utilities
"
- dat += ""
-
- if(1)
- //Note Program. Can save/load note files.
- dat += "Notekeeper V2.5
"
-
- if(!src.note_mode)
- dat += "Edit"
- dat += " | New File"
- dat += " | Save"
- dat += " | Load
"
-
- dat += src.note
- else
- dat += " Back"
- dat += " | \[[src.holding_folder.holder.file_amount - src.holding_folder.holder.file_used]\] Free
"
- dat += ""
-
- for(var/datum/computer/file/text/T in src.holding_folder.contents)
- dat += "| [T.name] | "
- dat += "[T.extension] | "
- dat += "Length: [T.data ? (length(T.data)) : "0"] |
"
-
- dat += "
"
-
- if(2)
- //Messenger. Uses Radio. Is a messenger.
- //TO-DO: ~file sharing~
- src.master.overlays.Cut() //Remove existing alerts
- dat += "SpaceMessenger V4.0.5
"
-
- if (!src.message_mode)
-
- dat += "Ringer: [src.message_silent == 1 ? "Off" : "On"] | "
- dat += "Send / Receive: [src.message_on == 1 ? "On" : "Off"] | "
- dat += "Set Ringtone | "
- dat += "Messages
"
-
- dat += "Scan
"
- dat += "Detected PDAs
"
-
- dat += ""
-
- var/count = 0
-
- if (src.message_on)
- for (var/obj/item/device/pda2/P in src.detected_pdas)
- if (!P.owner)
- src.detected_pdas -= P
- continue
- else if (P == src) //I guess this can happen if somebody copies the system file.
- src.detected_pdas -= P
- continue
-
- dat += "- [P]"
-
- dat += "
"
- count++
-
- dat += "
"
-
- if (count == 0)
- dat += "None detected.
"
-
- else
- dat += "Clear | "
- dat += "Back
"
-
- dat += "Messages
"
-
- dat += src.message_note
- dat += "
"
-
- if(3)
- //File Browser.
- //To-do(?): Setting "favorite" programs to access straight from main menu
- //Not sure how needed it is, not like they have to go through 500 subfolders or whatever
- if((!src.browse_folder) || !(src.browse_folder.holder in src.master))
- src.browse_folder = src.holding_folder
-
- dat += " | Paste"
- dat += " | Drive: "
- dat += "\[[src.browse_folder.holder == src.master.hd ? "MAIN" : "CART"]\]
"
-
- dat += "Contents of [browse_folder] | Drive ID:\[[src.browse_folder.holder.title]]
"
- dat += "Used: \[[src.browse_folder.holder.file_used]/[src.browse_folder.holder.file_amount]\]
"
-
- dat += ""
- for(var/datum/computer/file/F in browse_folder.contents)
- if(F == src)
- dat += "| System | Size: [src.size] | SYSTEM |
"
- continue
- dat += "| [F.name] | "
- dat += "Size: [F.size] | "
-
- dat += "[F.extension] | "
-
- dat += "Del | "
- dat += "Rename | "
-
- dat += "Copy | "
-
- dat += "
"
-
- dat += "
"
-
- if(4)
- //Atmos Scanner
- dat += "Atmospheric Readings
"
-
- var/turf/T = get_turf_or_move(get_turf(src.master))
- if (isnull(T))
- dat += "Unable to obtain a reading.
"
- else
- var/datum/gas_mixture/environment = T.return_air()
-
- var/pressure = environment.return_pressure()
- var/total_moles = environment.total_moles()
-
- dat += "Air Pressure: [round(pressure,0.1)] kPa
"
-
- if (total_moles())
- var/o2_level = environment.oxygen/total_moles()
- var/n2_level = environment.nitrogen/total_moles()
- var/co2_level = environment.carbon_dioxide/total_moles()
- var/plasma_level = environment.toxins/total_moles()
- var/unknown_level = 1-(o2_level+n2_level+co2_level+plasma_level)
-
- dat += "Nitrogen: [round(n2_level*100)]%
"
-
- dat += "Oxygen: [round(o2_level*100)]%
"
-
- dat += "Carbon Dioxide: [round(co2_level*100)]%
"
-
- dat += "Plasma: [round(plasma_level*100)]%
"
-
- if(unknown_level > 0.01)
- dat += "OTHER: [round(unknown_level)]%
"
-
- dat += "Temperature: [round(environment.temperature-T0C)]°C
"
-
- dat += "
"
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["mode"])
- var/newmode = text2num(href_list["mode"])
- src.mode = max(newmode, 0)
-
- else if(href_list["flight"])
- src.master.toggle_light()
-
- else if(href_list["scanner"])
- if(src.master.scan_program)
- src.master.scan_program = null
-
- else if(href_list["input"])
- switch(href_list["input"])
- if("tone")
- var/t = input(usr, "Please enter new ringtone", src.name, src.message_tone) as text
- if (!t)
- return
-
- if (!src.master || !in_range(src.master, usr) && src.master.loc != usr)
- return
-
- if(!(src.holder in src.master))
- return
-
- t = copytext(sanitize(t), 1, 20)
- src.message_tone = t
-
- if("note")
- var/t = input(usr, "Please enter note", src.name, src.note) as message
- if (!t)
- return
-
- if (!src.master || !in_range(src.master, usr) && src.master.loc != usr)
- return
-
- if(!(src.holder in src.master))
- return
-
- t = copytext(adminscrub(t), 1, MAX_MESSAGE_LEN)
- src.note = t
-
-
- if("message")
- var/obj/item/device/pda2/P = locate(href_list["target"])
- if(!P || !istype(P))
- return
-
- var/t = input(usr, "Please enter message", P.name, null) as text
- if (!t)
- return
-
- if (!src.master || !in_range(src.master, usr) && src.master.loc != usr)
- return
-
- if(!(src.holder in src.master))
- return
-
-
- var/datum/signal/signal = new
- signal.data["command"] = "text message"
- signal.data["message"] = t
- signal.data["sender"] = src.master.owner
- signal.data["tag"] = "\ref[P]"
- src.post_signal(signal)
- src.message_note += "→ To [P.owner]:
[t]
"
- log_pda("[usr] sent [t] to [P.owner]")
-
- if("rename")
- var/datum/computer/file/F = locate(href_list["target"])
- if(!F || !istype(F))
- return
-
- var/t = input(usr, "Please enter new name", src.name, F.name) as text
- t = copytext(sanitize(t), 1, 16)
- if (!t)
- return
- if (!in_range(src.master, usr) || !(F.holder in src.master))
- return
- if(F.holder.read_only)
- return
- F.name = capitalize(lowertext(t))
-
-
- else if(href_list["message_func"]) //Messenger specific topic junk
- switch(href_list["message_func"])
- if("ringer")
- src.message_silent = !src.message_silent
- if("on")
- src.message_on = !src.message_on
- if("clear")
- src.message_note = null
- if("scan")
- if(src.message_on)
- src.detected_pdas = list()
- var/datum/signal/signal = new
- signal.data["command"] = "report pda"
- src.post_signal(signal)
-
- else if(href_list["note_func"]) //Note program specific topic junk
- switch(href_list["note_func"])
- if("new")
- src.note_file = null
- src.note = null
- if("save")
- if(src.note_file && src.note_file.holder in src.master)
- src.note_file.data = src.note
- else
- var/datum/computer/file/text/F = new /datum/computer/file/text
- if(!src.holding_folder.add_file(F))
- del(F)
- else
- src.note_file = F
- F.data = src.note
-
- if("load")
- var/datum/computer/file/text/T = locate(href_list["target"])
- if(!T || !istype(T))
- return
-
- src.note_file = T
- src.note = note_file.data
- src.note_mode = 0
-
- if("switchmenu")
- src.note_mode = !src.note_mode
-
- else if(href_list["browse_func"]) //File browser specific topic junk
- var/datum/computer/target = locate(href_list["target"])
- switch(href_list["browse_func"])
- if("drive")
- if(src.browse_folder.holder == src.master.hd && src.master.cartridge && (src.master.cartridge.root))
- src.browse_folder = src.master.cartridge.root
- else
- src.browse_folder = src.holding_folder
- if("open")
- if(!target || !istype(target))
- return
- if(istype(target, /datum/computer/file/pda_program))
- if(istype(target,/datum/computer/file/pda_program/os) && (src.master.host_program))
- return
- else
- src.master.run_program(target)
- src.master.updateSelfDialog()
- return
-
- if("delete")
- if(!target || !istype(target))
- return
- src.master.delete_file(target)
-
- if("copy")
- if(istype(target,/datum/computer/file) && (!target.holder || (target.holder in src.master.contents)))
- src.clipboard = target
-
- if("paste")
- if(istype(target,/datum/computer/folder))
- if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents))
- return
-
- if(!istype(src.clipboard))
- return
-
- src.clipboard.copy_file_to_folder(target)
-
-
- else if(href_list["message_mode"])
- var/newmode = text2num(href_list["message_mode"])
- src.message_mode = max(newmode, 0)
-
- src.master.add_fingerprint(usr)
- src.master.updateSelfDialog()
- return
-
- receive_signal(datum/signal/signal)
- if(..())
- return
-
- switch(signal.data["command"])
- if("text message")
- if(!message_on || !signal.data["message"])
- return
- var/sender = signal.data["sender"]
- if(!sender)
- sender = "!Unknown!"
-
- src.message_note += "← From [sender]:
[signal.data["message"]]
"
- var/alert_beep = null //Don't beep if set to silent.
- if(!src.message_silent)
- alert_beep = src.message_tone
-
- src.master.display_alert(alert_beep)
- src.master.updateSelfDialog()
-
- if("report pda")
- if(!message_on)
- return
-
- var/datum/signal/newsignal = new
- newsignal.data["command"] = "reporting pda"
- newsignal.data["tag"] = "\ref[signal.source]"
- src.post_signal(newsignal)
-
- if("reporting pda")
- if(!detected_pdas)
- detected_pdas = new()
-
- if(!(signal.source in detected_pdas))
- detected_pdas += signal.source
-
- src.master.updateSelfDialog()
-
- return
-
- return_text_header()
- if(!src.master)
- return
-
- var/dat
-
- if(src.mode)
- dat += " | Main Menu"
-
- else if (!isnull(src.master.cartridge))
- dat += " | Eject [src.master.cartridge]"
-
- dat += " | Refresh"
-
- return dat
\ No newline at end of file
diff --git a/code/unused/pda2/base_program.dm b/code/unused/pda2/base_program.dm
deleted file mode 100644
index f5c11efc077..00000000000
--- a/code/unused/pda2/base_program.dm
+++ /dev/null
@@ -1,185 +0,0 @@
-//Eventual plan: Convert all datum/data to datum/computer/file
-/datum/computer/file/text
- name = "text"
- extension = "TEXT"
- size = 2.0
- var/data = null
-
-/datum/computer/file/record
- name = "record"
- extension = "REC"
-
- var/list/fields = list( )
-
-
-//base pda program
-
-/datum/computer/file/pda_program
- name = "blank program"
- extension = "PPROG"
- var/obj/item/device/pda2/master = null
- var/id_tag = null
-
- os
- name = "blank system program"
- extension = "PSYS"
-
- scan
- name = "blank scan program"
- extension = "PSCAN"
-
- New(obj/holding as obj)
- if(holding)
- src.holder = holding
-
- if(istype(src.holder.loc,/obj/item/device/pda2))
- src.master = src.holder.loc
-
- proc
- return_text()
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- //world << "Holder [holder] not in [master] of prg:[src]"
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- if(!src.holder.root)
- src.holder.root = new /datum/computer/folder
- src.holder.root.holder = src
- src.holder.root.name = "root"
-
- return 0
-
- process() //This isn't actually used at the moment
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- if(!src.holder.root)
- src.holder.root = new /datum/computer/folder
- src.holder.root.holder = src
- src.holder.root.name = "root"
-
- return 0
-
- //maybe remove this, I haven't found a good use for it yet
- send_os_command(list/command_list)
- if(!src.master || !src.holder || src.master.host_program || !command_list)
- return 1
-
- if(!istype(src.master.host_program) || src.master.host_program == src)
- return 1
-
- src.master.host_program.receive_os_command()
-
- return 0
-
- return_text_header()
- if(!src.master || !src.holder)
- return
-
- var/dat = " | Main Menu"
- dat += " | Refresh"
-
- return dat
-
- post_signal(datum/signal/signal, newfreq)
- if(master)
- master.post_signal(signal, newfreq)
- else
- del(signal)
-
- transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder)
-
- if((newholder.file_used + src.size) > newholder.file_amount)
- return 0
-
- if(!newholder.root)
- newholder.root = new /datum/computer/folder
- newholder.root.holder = newholder
- newholder.root.name = "root"
-
- if(!newfolder)
- newfolder = newholder.root
-
- if((src.holder && src.holder.read_only) || newholder.read_only)
- return 0
-
- if((src.holder) && (src.holder.root))
- src.holder.root.remove_file(src)
-
- newfolder.add_file(src)
-
- if(istype(newholder.loc,/obj/item/device/pda2))
- src.master = newholder.loc
-
- //world << "Setting [src.holder] to [newholder]"
- src.holder = newholder
- return 1
-
-
- receive_signal(datum/signal/signal)
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- return 0
-
-
- Topic(href, href_list)
- if((!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(src.master.active_program != src)
- return 1
-
- if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.active_program == src)
- master.active_program = null
- return 1
-
- usr.machine = src.master
-
- if (href_list["close"])
- usr.machine = null
- usr << browse(null, "window=pda2")
- return 0
-
- if (href_list["quit"])
-// src.master.processing_programs.Remove(src)
- if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents))
- src.master.run_program(src.master.host_program)
- src.master.updateSelfDialog()
- return 1
- else
- src.master.active_program = null
- src.master.updateSelfDialog()
- return 1
-
- return 0
\ No newline at end of file
diff --git a/code/unused/pda2/pda2.dm b/code/unused/pda2/pda2.dm
deleted file mode 100644
index fb3001c9a00..00000000000
--- a/code/unused/pda2/pda2.dm
+++ /dev/null
@@ -1,298 +0,0 @@
-//The advanced pea-green monochrome lcd of tomorrow.
-
-
-//TO-DO: rearrange all this disk/data stuff so that fixed disks are the parent type
-//because otherwise you have carts going into floppy drives and it's ALL MAD
-/obj/item/weapon/disk/data/cartridge
- name = "Cart 2.0"
- desc = "A data cartridge for portable microcomputers."
- icon = 'icons/obj/pda.dmi'
- icon_state = "cart"
- item_state = "electronic"
- file_amount = 80.0
- title = "ROM Cart"
-
- pda2test
- name = "Test Cart"
- New()
- ..()
- src.root.add_file( new /datum/computer/file/computer_program/arcade(src))
- src.root.add_file( new /datum/computer/file/pda_program/manifest(src))
- src.root.add_file( new /datum/computer/file/pda_program/status_display(src))
- src.root.add_file( new /datum/computer/file/pda_program/signaler(src))
- src.root.add_file( new /datum/computer/file/pda_program/qm_records(src))
- src.root.add_file( new /datum/computer/file/pda_program/scan/health_scan(src))
- src.root.add_file( new /datum/computer/file/pda_program/records/security(src))
- src.root.add_file( new /datum/computer/file/pda_program/records/medical(src))
- src.read_only = 1
-
-
-/obj/item/device/pda2
- name = "PDA"
- desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by an EEPROM cartridge."
- icon = 'icons/obj/pda.dmi'
- icon_state = "pda"
- item_state = "electronic"
- w_class = 2.0
- flags = FPRINT | TABLEPASS
- slow_flags = SLOT_BELT
-
- var/owner = null
- var/default_cartridge = null // Access level defined by cartridge
- var/obj/item/weapon/disk/data/cartridge/cartridge = null //current cartridge
- var/datum/computer/file/pda_program/active_program = null
- var/datum/computer/file/pda_program/os/host_program = null
- var/datum/computer/file/pda_program/scan/scan_program = null
- var/obj/item/weapon/disk/data/fixed_disk/hd = null
- var/fon = 0 //Is the flashlight function on?
- var/f_lum = 3 //Luminosity for the flashlight function
-// var/datum/data/record/active1 = null //General
-// var/datum/data/record/active2 = null //Medical
-// var/datum/data/record/active3 = null //Security
-// var/obj/item/weapon/integrated_uplink/uplink = null //Maybe replace uplink with some remote ~syndicate~ server
- var/frequency = 1149
- var/datum/radio_frequency/radio_connection
-
- var/setup_default_cartridge = null //Cartridge contains job-specific programs
- var/setup_drive_size = 24.0 //PDAs don't have much work room at all, really.
- var/setup_system_os_path = /datum/computer/file/pda_program/os/main_os //Needs an operating system to...operate!!
-
-
-/obj/item/device/pda2/pickup(mob/user)
- if (src.fon)
- src.sd_SetLuminosity(0)
- user.sd_SetLuminosity(user.luminosity + src.f_lum)
-
-/obj/item/device/pda2/dropped(mob/user)
- if (src.fon)
- user.sd_SetLuminosity(user.luminosity - src.f_lum)
- src.sd_SetLuminosity(src.f_lum)
-
-/obj/item/device/pda2/New()
- ..()
- spawn(5)
- src.hd = new /obj/item/weapon/disk/data/fixed_disk(src)
- src.hd.file_amount = src.setup_drive_size
- src.hd.name = "Minidrive"
- src.hd.title = "Minidrive"
-
- if(src.setup_system_os_path)
- src.host_program = new src.setup_system_os_path
-
- src.hd.file_amount = max(src.hd.file_amount, src.host_program.size)
-
- src.host_program.transfer_holder(src.hd)
-
- if(radio_controller)
- radio_controller.add_object(src, frequency)
-
-
- if (src.default_cartridge)
- src.cartridge = new src.setup_default_cartridge(src)
-// if(src.owner)
-// processing_items.Add(src)
-
-/obj/item/device/pda2/attack_self(mob/user as mob)
- user.machine = src
-
- var/dat = "Personal Data Assistant"
-
- dat += "Close"
-
- if (!src.owner)
- if(src.cartridge)
- dat += " | Eject [src.cartridge]"
- dat += "
Warning: No owner information entered. Please swipe card.
"
- dat += "Retry"
- else
- if(src.active_program)
- dat += src.active_program.return_text()
- else
- if(src.host_program)
- src.run_program(src.host_program)
- dat += src.active_program.return_text()
- else
- if(src.cartridge)
- dat += " | Eject [src.cartridge]
"
- dat += "Fatal Error 0x17
"
- dat += "No System Software Loaded"
- //To-do: System recovery shit (maybe have a dedicated computer for this kind of thing)
-
-
- user << browse(dat,"window=pda2")
- onclose(user,"pda2")
- return
-
-/obj/item/device/pda2/Topic(href, href_list)
- ..()
-
- if (usr.contents.Find(src) || usr.contents.Find(src.master) || (istype(src.loc, /turf) && get_dist(src, usr) <= 1))
- if (usr.stat || usr.restrained())
- return
-
- src.add_fingerprint(usr)
- usr.machine = src
-
-
- if(href_list["return_to_host"])
- if(src.host_program)
- src.active_program = src.host_program
- src.host_program = null
-
- else if (href_list["eject_cart"])
- src.eject_cartridge()
-
- else if (href_list["refresh"])
- src.updateSelfDialog()
-
- else if (href_list["close"])
- usr << browse(null, "window=pda2")
- usr.machine = null
-
- src.updateSelfDialog()
- return
-
-/obj/item/device/pda2/attackby(obj/item/weapon/C as obj, mob/user as mob)
- if (istype(C, /obj/item/weapon/disk/data/cartridge) && isnull(src.cartridge))
- user.drop_item()
- C.loc = src
- user << "\blue You insert [C] into [src]."
- src.cartridge = C
- src.updateSelfDialog()
-
- else if (istype(C, /obj/item/weapon/card/id) && !src.owner && C:registered_name)
- src.owner = C:registered_name
- src.name = "PDA-[src.owner]"
- user << "\blue Card scanned."
- src.updateSelfDialog()
-
-/obj/item/device/pda2/receive_signal(datum/signal/signal)
- if(!signal || signal.encryption || !src.owner) return
-
- if(signal.data["tag"] && signal.data["tag"] != "\ref[src]") return
-
- if(src.host_program)
- src.host_program.receive_signal(signal)
-
- if(src.active_program && (src.active_program != src.host_program))
- src.host_program.receive_signal(signal)
-
- return
-
-/obj/item/device/pda2/attack(mob/M as mob, mob/user as mob)
- if(src.scan_program)
- return
- else
- ..()
-
-/obj/item/device/pda2/afterattack(atom/A as mob|obj|turf|area, mob/user as mob)
- var/scan_dat = null
- if(src.scan_program && istype(src.scan_program))
- scan_dat = src.scan_program.scan_atom(A)
-
- if(scan_dat)
- A.visible_message("\red [user] has scanned [A]!")
- user.show_message(scan_dat, 1)
-
- return
-
-
-/obj/item/device/pda2/proc
-
- post_signal(datum/signal/signal,var/newfreq)
- if(!signal)
- return
- var/freq = newfreq
- if(!freq)
- freq = src.frequency
-
- signal.source = src
-
- var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
-
- signal.transmission_method = TRANSMISSION_RADIO
- if(frequency)
- return frequency.post_signal(src, signal)
- else
- del(signal)
-
- eject_cartridge()
- if(src.cartridge)
- var/turf/T = get_turf(src)
-
- if(src.active_program && (src.active_program.holder == src.cartridge))
- src.active_program = null
-
- if(src.host_program && (src.host_program.holder == src.cartridge))
- src.host_program = null
-
- if(src.scan_program && (src.scan_program.holder == src.cartridge))
- src.scan_program = null
-
- src.cartridge.loc = T
- src.cartridge = null
-
- return
-
- //Toggle the built-in flashlight
- toggle_light()
- src.fon = (!src.fon)
-
- if (ismob(src.loc))
- if (src.fon)
- src.loc.sd_SetLuminosity(src.loc.luminosity + src.f_lum)
- else
- src.loc.sd_SetLuminosity(src.loc.luminosity - src.f_lum)
- else
- src.sd_SetLuminosity(src.fon * src.f_lum)
-
- src.updateSelfDialog()
-
- display_alert(var/alert_message) //Add alert overlay and beep
- if (alert_message)
- playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 1)
- for (var/mob/O in hearers(3, src.loc))
- O.show_message(text("\icon[src] *[alert_message]*"))
-
- src.overlays.Cut()
- src.overlays += image('icons/obj/pda.dmi', "pda-r")
- return
-
- run_program(datum/computer/file/pda_program/program)
- if((!program) || (!program.holder))
- return 0
-
- if(!(program.holder in src))
- // world << "Not in src"
- program = new program.type
- program.transfer_holder(src.hd)
-
- if(program.master != src)
- program.master = src
-
- if(!src.host_program && istype(program, /datum/computer/file/pda_program/os))
- src.host_program = program
-
- if(istype(program, /datum/computer/file/pda_program/scan))
- if(program == src.scan_program)
- src.scan_program = null
- else
- src.scan_program = program
- return 1
-
- src.active_program = program
- return 1
-
- delete_file(datum/computer/file/file)
- //world << "Deleting [file]..."
- if((!file) || (!file.holder) || (file.holder.read_only))
- //world << "Cannot delete :("
- return 0
-
- //Don't delete the running program you jerk
- if(src.active_program == file || src.host_program == file)
- src.active_program = null
-
- //world << "Now calling del on [file]..."
- del(file)
- return 1
\ No newline at end of file
diff --git a/code/unused/pda2/record_progs.dm b/code/unused/pda2/record_progs.dm
deleted file mode 100644
index 2ea856c93e2..00000000000
--- a/code/unused/pda2/record_progs.dm
+++ /dev/null
@@ -1,181 +0,0 @@
-//CONTENTS:
-//Generic records
-//Security records
-//Medical records
-
-
-/datum/computer/file/pda_program/records
- var/mode = 0
- var/datum/data/record/active1 = null //General
- var/datum/data/record/active2 = null //Security/Medical/Whatever
-
-//To-do: editing arrest status/etc from pda.
-/datum/computer/file/pda_program/records/security
- name = "Security Records"
- size = 12.0
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- switch(src.mode)
- if(0)
- dat += "Security Record List
"
-
- for (var/datum/data/record/R in data_core.general)
- dat += "[R.fields["id"]]: [R.fields["name"]]
"
-
- dat += "
"
-
- if(1)
-
- dat += "Security Record
"
-
- dat += "Back
"
-
- if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))
- dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
"
- dat += "Sex: [src.active1.fields["sex"]]
"
- dat += "Age: [src.active1.fields["age"]]
"
- dat += "Fingerprint: [src.active1.fields["fingerprint"]]
"
- dat += "Physical Status: [src.active1.fields["p_stat"]]
"
- dat += "Mental Status: [src.active1.fields["m_stat"]]
"
- else
- dat += "Record Lost!
"
-
- dat += "
"
-
- dat += "Security Data
"
- if (istype(src.active2, /datum/data/record) && data_core.security.Find(src.active2))
- dat += "Criminal Status: [src.active2.fields["criminal"]]
"
-
- dat += "Minor Crimes: [src.active2.fields["mi_crim"]]
"
- dat += "Details: [src.active2.fields["mi_crim"]]
"
-
- dat += "Major Crimes: [src.active2.fields["ma_crim"]]
"
- dat += "Details: [src.active2.fields["ma_crim_d"]]
"
-
- dat += "Important Notes:
"
- dat += "[src.active2.fields["notes"]]"
- else
- dat += "Record Lost!
"
-
- dat += "
"
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["mode"])
- var/newmode = text2num(href_list["mode"])
- src.mode = max(newmode, 0)
-
- else if(href_list["select_rec"])
- var/datum/data/record/R = locate(href_list["select_rec"])
- var/datum/data/record/S = locate(href_list["select_rec"])
-
- if (data_core.general.Find(R))
- for (var/datum/data/record/E in data_core.security)
- if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
- S = E
- break
-
- src.active1 = R
- src.active2 = S
-
- src.mode = 1
-
- src.master.add_fingerprint(usr)
- src.master.updateSelfDialog()
- return
-
-/datum/computer/file/pda_program/records/medical
- name = "Medical Records"
- size = 8.0
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- switch(src.mode)
- if(0)
-
- dat += "Medical Record List
"
- for (var/datum/data/record/R in data_core.general)
- dat += "[R.fields["id"]]: [R.fields["name"]]
"
- dat += "
"
-
- if(1)
-
- dat += "Medical Record
"
-
- dat += "Back
"
-
- if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))
- dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
"
- dat += "Sex: [src.active1.fields["sex"]]
"
- dat += "Age: [src.active1.fields["age"]]
"
- dat += "Fingerprint: [src.active1.fields["fingerprint"]]
"
- dat += "Physical Status: [src.active1.fields["p_stat"]]
"
- dat += "Mental Status: [src.active1.fields["m_stat"]]
"
- else
- dat += "Record Lost!
"
-
- dat += "
"
-
- dat += "Medical Data
"
- if (istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))
- dat += "Blood Type: [src.active2.fields["b_type"]]
"
-
- dat += "Minor Disabilities: [src.active2.fields["mi_dis"]]
"
- dat += "Details: [src.active2.fields["mi_dis_d"]]
"
-
- dat += "Major Disabilities: [src.active2.fields["ma_dis"]]
"
- dat += "Details: [src.active2.fields["ma_dis_d"]]
"
-
- dat += "Allergies: [src.active2.fields["alg"]]
"
- dat += "Details: [src.active2.fields["alg_d"]]
"
-
- dat += "Current Diseases: [src.active2.fields["cdi"]]
"
- dat += "Details: [src.active2.fields["cdi_d"]]
"
-
- dat += "Important Notes: [src.active2.fields["notes"]]
"
- else
- dat += "Record Lost!
"
-
- dat += "
"
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["mode"])
- var/newmode = text2num(href_list["mode"])
- src.mode = max(newmode, 0)
-
- else if(href_list["select_rec"])
- var/datum/data/record/R = locate(href_list["select_rec"])
- var/datum/data/record/M = locate(href_list["select_rec"])
-
- if (data_core.general.Find(R))
- for (var/datum/data/record/E in data_core.medical)
- if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
- M = E
- break
-
- src.active1 = R
- src.active2 = M
-
- src.mode = 1
-
- src.master.add_fingerprint(usr)
- src.master.updateSelfDialog()
- return
\ No newline at end of file
diff --git a/code/unused/pda2/scanners.dm b/code/unused/pda2/scanners.dm
deleted file mode 100644
index 499b8679542..00000000000
--- a/code/unused/pda2/scanners.dm
+++ /dev/null
@@ -1,103 +0,0 @@
-//CONTENTS:
-//Base scanner stuff
-//Health scanner
-//Forensic scanner
-//Reagent scanner
-
-/datum/computer/file/pda_program/scan
- return_text()
- return src.return_text_header()
-
- proc/scan_atom(atom/A as mob|obj|turf|area)
-
- if( !A || (!src.holder) || (!src.master))
- return 1
-
- if((!istype(holder)) || (!istype(master)))
- return 1
-
- if(!(holder in src.master.contents))
- if(master.scan_program == src)
- master.scan_program = null
- return 1
-
- return 0
-
- //Health analyzer program
- health_scan
- name = "Health Scan"
- size = 8.0
-
- scan_atom(atom/A as mob|obj|turf|area)
- if(..())
- return
-
- var/mob/living/carbon/C = A
- if(!istype(C))
- return
-
- var/dat = "\blue Analyzing Results for [C]:\n"
- dat += "\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health]% healthy"]\n"
- dat += "\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.getFireLoss() > 50 ? "\red" : "\blue"][C.getFireLoss()]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]\n"
- dat += "\blue \t Key: Suffocation/Toxin/Burns/Brute\n"
- dat += "\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)"
- if(C.virus)
- dat += "\red \nWarning Virus Detected.\nName: [C.virus.name].\nType: [C.virus.spread].\nStage: [C.virus.stage]/[C.virus.max_stages].\nPossible Cure: [C.virus.cure]"
-
- return dat
-
- //Forensic scanner
- forensic_scan
- name = "Forensic Scan"
- size = 8.0
-
- scan_atom(atom/A as mob|obj|turf|area)
- if(..())
- return
- var/dat = null
-
- if(istype(A,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = A
- if (!istype(H.dna, /datum/dna) || !isnull(H.gloves))
- dat += "\blue Unable to scan [A]'s fingerprints.\n"
- else
- dat += "\blue [H]'s Fingerprints: [md5(H.dna.uni_identity)]\n"
- if ( !(H.blood_DNA.len) )
- dat += "\blue No blood found on [H]\n"
- else
- for(var/i = 1, i < H.blood_DNA.len, i++)
- var/list/templist = H.blood_DNA[i]
- user << "\blue Blood type: [templist[2]]\nDNA: [templist[1]]"
-
- if (!A.fingerprints)
- dat += "\blue Unable to locate any fingerprints on [A]!\n"
- else
- var/list/L = params2list(A:fingerprints)
- dat += "\blue Isolated [L.len] fingerprints.\n"
- for(var/i in L)
- dat += "\blue \t [i]\n"
-
- return dat
-
-
- //Reagent scanning program
- reagent_scan
- name = "Reagent Scan"
- size = 6.0
-
- scan_atom(atom/A as mob|obj|turf|area)
- if(..())
- return
- var/dat = null
- if(!isnull(A.reagents))
- if(A.reagents.reagent_list.len > 0)
- var/reagents_length = A.reagents.reagent_list.len
- dat += "\blue [reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.\n"
- for (var/datum/reagent/re in A.reagents.reagent_list)
- dat += "\blue \t [re] - [re.volume]\n"
- else
- dat = "\blue No active chemical agents found in [A]."
- else
- dat = "\blue No significant chemical agents found in [A]."
-
- return dat
diff --git a/code/unused/pda2/smallprogs.dm b/code/unused/pda2/smallprogs.dm
deleted file mode 100644
index 549e8fc0f52..00000000000
--- a/code/unused/pda2/smallprogs.dm
+++ /dev/null
@@ -1,204 +0,0 @@
-//Assorted small programs not worthy of their own file
-//CONTENTS:
-//Crew Manifest viewer
-//Status display controller
-//Remote signaling program
-//Cargo orders monitor
-
-//Manifest
-/datum/computer/file/pda_program/manifest
- name = "Manifest"
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- dat += "Crew Manifest
"
- dat += "Entries cannot be modified from this terminal.
"
-
- for (var/datum/data/record/t in data_core.general)
- dat += "[t.fields["name"]] - [t.fields["rank"]]
"
- dat += "
"
-
- return dat
-
-//Status Display
-/datum/computer/file/pda_program/status_display
- name = "Status Controller"
- size = 8.0
- var/message1 // For custom messages on the displays.
- var/message2
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- dat += "Station Status Display Interlink
"
-
- dat += "\[ Clear \]
"
- dat += "\[ Shuttle ETA \]
"
- dat += "\[ Message \]"
-
- dat += "
"
- dat += "\[ Alert: None |"
-
- dat += " Red Alert |"
- dat += " Lockdown |"
- dat += " Biohazard \]
"
-
- return dat
-
-
- Topic(href, href_list)
- if(..())
- return
-
- if(href_list["statdisp"])
- switch(href_list["statdisp"])
- if("message")
- post_status("message", message1, message2)
- if("alert")
- post_status("alert", href_list["alert"])
-
- if("setmsg1")
- message1 = input("Line 1", "Enter Message Text", message1) as text|null
- if (!src.master || !in_range(src.master, usr) && src.master.loc != usr)
- return
-
- if(!(src.holder in src.master))
- return
- src.master.updateSelfDialog()
-
- if("setmsg2")
- message2 = input("Line 2", "Enter Message Text", message2) as text|null
- if (!src.master || !in_range(src.master, usr) && src.master.loc != usr)
- return
-
- if(!(src.holder in src.master))
- return
-
- src.master.updateSelfDialog()
- else
- post_status(href_list["statdisp"])
-
- src.master.add_fingerprint(usr)
- src.master.updateSelfDialog()
- return
-
- proc/post_status(var/command, var/data1, var/data2)
- if(!src.master)
- return
-
- var/datum/signal/status_signal = new
- status_signal.source = src.master
- status_signal.transmission_method = 1
- status_signal.data["command"] = command
-
- switch(command)
- if("message")
- status_signal.data["msg1"] = data1
- status_signal.data["msg2"] = data2
- if("alert")
- status_signal.data["picture_state"] = data1
-
- src.post_signal(status_signal,"1435")
-
-//Signaler
-/datum/computer/file/pda_program/signaler
- name = "Signalix 5"
- size = 8.0
- var/send_freq = 1457 //Frequency signal is sent at, should be kept within normal radio ranges.
- var/send_code = 30
- var/last_transmission = 0 //No signal spamming etc
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
-
- dat += "Remote Signaling System
"
- dat += {"
-Send Signal
-
-Frequency:
--
--
-[format_frequency(send_freq)]
-+
-+
-
-Code:
--
--
-[send_code]
-+
-+
"}
-
- return dat
-
- Topic(href, href_list)
- if(..())
- return
-
- if (href_list["send"])
- if(last_transmission && world.time < (last_transmission + 5))
- return
- last_transmission = world.time
- spawn( 0 )
- var/time = time2text(world.realtime,"hh:mm:ss")
- lastsignalers.Add("[time] : [usr.key] used [src.master] @ location ([src.master.loc.x],[src.master.loc.y],[src.master.loc.z]) : [format_frequency(send_freq)]/[send_code]")
-
- var/datum/signal/signal = new
- signal.source = src
- signal.encryption = send_code
- signal.data["message"] = "ACTIVATE"
-
- src.post_signal(signal,"[send_freq]")
- return
-
- else if (href_list["adj_freq"])
- src.send_freq = sanitize_frequency(src.send_freq + text2num(href_list["adj_freq"]))
-
- else if (href_list["adj_code"])
- src.send_code += text2num(href_list["adj_code"])
- src.send_code = round(src.send_code)
- src.send_code = min(100, src.send_code)
- src.send_code = max(1, src.send_code)
-
- src.master.add_fingerprint(usr)
- src.master.updateSelfDialog()
- return
-
-//Supply record monitor
-/datum/computer/file/pda_program/qm_records
- name = "Supply Records"
- size = 8.0
-
- return_text()
- if(..())
- return
-
- var/dat = src.return_text_header()
- dat += "Supply Record Interlink
"
-
- dat += "
Supply shuttle
"
- dat += "Location: [supply_shuttle_moving ? "Moving to station ([supply_shuttle_timeleft] Mins.)":supply_shuttle_at_station ? "Station":"Dock"]
"
- dat += "Current approved orders:
"
- for(var/S in supply_shuttle_shoppinglist)
- var/datum/supply_order/SO = S
- dat += "- [SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]
"
- dat += "
"
-
- dat += "Current requests:
"
- for(var/S in supply_shuttle_requestlist)
- var/datum/supply_order/SO = S
- dat += "- [SO.object.name] requested by [SO.orderedby]
"
- dat += "
Upgrade NOW to Space Parts & Space Vendors PLUS for full remote order control and inventory management."
-
- return dat
diff --git a/code/unused/pipe.dm b/code/unused/pipe.dm
deleted file mode 100644
index 60e552e3406..00000000000
--- a/code/unused/pipe.dm
+++ /dev/null
@@ -1,1832 +0,0 @@
-// pipeline datum for storing inter-machine links
-// create a pipeline
-
-//number of pipelines
-var/linenums = 0
-
-/obj/machinery/pipeline/New()
- ..()
-
- gas = new /datum/gas_mixture()
- ngas = new /datum/gas_mixture()
-
- gasflowlist += src
-
-// find the pipeline that contains the /obj/machine (including pipe)
-/proc/findline(var/obj/machinery/M)
-
- for(var/obj/machinery/pipeline/P in plines)
-
- for(var/obj/machinery/O in P.nodes)
-
- if(M==O)
- return P
-
- return null
-
-// sets the vnode1&2 terminators to the joining machines (or null)
-/obj/machinery/pipeline/proc/setterm()
-
- //first make sure pipes are oriented correctly
-
- var/obj/machinery/M = null
-
- for(var/obj/machinery/pipes/P in nodes)
- if(!M) // special case for 1st pipe
- if(P.node1 && P.node1.ispipe())
- P.flip() // flip if node1 is a pipe
- else
- if(P.node1 != M) //other cases, flip if node1 doesn't point to previous node
- P.flip() // (including if it is null)
-
-
- M = P
-
-
- // pipes are now ordered so that n1/n2 is in same order as pipeline list
-
- var/obj/machinery/pipes/P = nodes[1] // 1st node in list
- vnode1 = P.node1 // n1 points to 1st machine
- P = nodes[nodes.len] // last node in list
- vnode2 = P.node2 // n2 points to last machine
-
- if(vnode1)
- vnode1.buildnodes()
- if(vnode2)
- vnode2.buildnodes()
-
- return
-
-/*
-/obj/machinery/pipeline/get_gas_moles(from)
- return gas.total_moles()/capmult
-*/
-/obj/machinery/pipeline/get_gas(from)
- return gas
-
-/obj/machinery/pipeline/gas_flow()
- //if(suffix == "d" && Debug) world.log << "PLF1 [gas.total_moles()] ~ [ngas.total_moles()]"
-
- gas.copy_from(ngas)
-
- //if(suffix == "d" && Debug) world.log << "PLF2 [gas.total_moles()] ~ [ngas.total_moles()]"
-
-/obj/machinery/pipeline/process()
- /*
- // heat exchange for whole pipeline
-
- //if(suffix=="dbgp")
- // world.log << "PLP"
- // Plasma()
-
-// var/dbg = (suffix == "d") && Debug
-
- //if(dbg) world.log << "PLP1 [gas.total_moles()] ~ [ngas.total_moles()]"
-
- if(!numnodes)
- return //dividing by zero is bad okay?
-
- var/gtemp = ngas.temperature // cached temperature for heat exch calc
- var/tot_node = ngas.total_moles() / numnodes // fraction of gas in this node
-
- //if(dbg) world.log << "PLHE: [gtemp] [tot_node]"
-
- if(tot_node>0.1) // no pipe contents, don't heat
- for(var/obj/machinery/pipes/P in src.nodes) // for each segment of pipe
- P.heat_exchange(ngas, tot_node, numnodes, gtemp) //, dbg) // exchange heat with its turf
- if(!istype(P, /obj/machinery/pipes/heat_exch) && ((100*tot_node/P.capacity > 15000) || (gtemp > 8000)) )
- P.rupture()
- //Commenting this out because it spams on endlessly
- //for (var/mob/M in viewers(P))
- //M.show_message("\red The pipe has ruptured!", 3)
- //so this is changed to pipe rupturing instead of explosions
- //i.e. it ruptures if the pressure over 15000%
- //and temperature over 8000K
- //it also doesn't work on heat_exchange pipes
- // now do standard gas flow proc
-
-
- //if(dbg) world.log << "PLP2 [ngas.total_moles()]"
-
- var/delta_gt
-
- if(vnode1 && !(vnode1.stat & BROKEN))
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode1, delta_gt)//, dbg)
-
- //if(dbg) world.log << "PLT1 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]"
-
- flow = delta_gt
- else
- leak_to_turf(1)
-
- if(vnode2 && !(vnode2.stat & BROKEN))
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode2, delta_gt)//, dbg)
-
- //if(dbg) world.log << "PLT2 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]"
-
- flow -= delta_gt
- else
- leak_to_turf(2)
-
- */ //TODO: FIX
-
-/obj/machinery/pipeline/proc/leak_to_turf(var/port)
- /*
- var/turf/T
- var/obj/machinery/pipes/P
- var/list/ndirs
-
- switch(port)
- if(1)
- P = nodes[1] // 1st node in list
- if (P==null)
- T = src.loc
- else
- ndirs = P.get_node_dirs()
-
- T = get_step(P, ndirs[1])
-
-
- if(2)
- P = nodes[nodes.len] // last node in list
- if (P==null)
- T = src.loc
- else
-
- ndirs = P.get_node_dirs()
- T = get_step(P, ndirs[2])
- if (T==null)
- return
- if(T.density)
- return
-
- flow_to_turf(gas, ngas, T)
- */ //TODO: FIX
-
-
-// build the pipelines (THIS HAPPENS ONCE!)
-/proc/makepipelines()
-
- for(var/obj/machinery/pipes/P in machines) // look for a pipe
-
- if(!P.plnum) // if not already part of a line
- P.buildnodes(++linenums) // add it, and spread to all connected pipes
-
- //world.log<<"Line #[linecount] started at [P] ([P.x],[P.y],[P.z])"
-
- for(var/L = 1 to linenums) // for count of lines found
- var/obj/machinery/pipeline/PL = new() // make a pipeline virtual object
- PL.name = "pipeline #[L]"
- plines += PL // and add it to the list
- PL.linenumber = L
-
-
-
- for(var/obj/machinery/pipes/P in machines) // look for pipes
-
- if(P.termination) // true if pipe is terminated (ends in blank or a machine)
- var/obj/machinery/pipeline/PL = plines[P.plnum] // get the pipeline from the pipe's pl-number
-
- var/list/pipes = pipelist(null, P) // get a list of pipes from P until terminated
-
- PL.nodes = pipes // pipeline is this list of nodes
- PL.numnodes = pipes.len // with this many nodes
- PL.capmult = PL.numnodes+1 // with this flow multiplier
-
-
-
- for(var/obj/machinery/pipes/P in machines) // all pipes
- P.setline() // set the pipeline object for this pipe
-
- if(P.tag == "dbg") //add debug tag to line containing debug pipe
- P.parent.tag = "dbg"
-
- if(P.suffix == "dbgpp") //add debug tag to line containing debug pipe
- P.parent.suffix = "dbgp"
-
- if(P.suffix == "d") //add debug tag to line containing debug pipe
- P.parent.suffix = "d"
-
-
- for(var/obj/machinery/M in machines) // for all machines
- if(M.p_dir) // which are pipe-connected
- if(!M.ispipe()) // is not a pipe itself
- M.buildnodes() // build the nodes, setting the links to the virtual pipelines
- // also sets the vnodes for the pipelines
-
- for(var/obj/machinery/pipeline/PL in plines) // for all lines
- PL.setterm() // orient the pipes and set the pipeline vnodes to the terminating machines
-
-// return a list of pipes (not including terminating machine)
-
-/proc/pipelist(var/obj/machinery/source, var/obj/machinery/startnode)
-
- var/list/L = list()
-
- var/obj/machinery/node = startnode
- var/obj/machinery/prev = source
- var/obj/machinery/newnode
-
- while(node)
- L += node
- newnode = node.next(prev)
- prev = node
-
- if(newnode && newnode.ispipe())
- node = newnode
- else
- break
-
- return L
-
-// new pipes system
-
-// flip the nodes of a pipe
-/obj/machinery/pipes/proc/flip()
- var/obj/machinery/tempnode = node1
- node1 = node2
- node2 = tempnode
- return
-
-
-// return the next pipe in the node chain
-/obj/machinery/pipes/next(var/obj/machinery/from)
-
- if(from == null) // if from null, then return the next actual pipe
- if(node1 && node1.ispipe() )
- return node1
- if(node2 && node2.ispipe() )
- return node2
- return null // else return null if no real pipe connected
-
- else if(from == node1) // otherwise, return the node opposite the incoming one
- return node2
- else
- return node1
-
-
-// set the pipeline obj from the pl-number and global list of pipelines
-
-/obj/machinery/pipes/setline()
- src.parent = plines[plnum]
- return
-
-// returns the pipeline that this line is in
-
-/obj/machinery/pipes/getline()
- return parent
-
-/obj/machinery/pipes/orient_pipe(P as obj)
- if (!( src.node1 ))
- src.node1 = P
- else
- if (!( src.node2 ))
- src.node2 = P
- else
- return 0
- return 1
-
-// returns a list of dir1, dir2 & p_dir for a pipe
-
-/obj/machinery/pipes/proc/get_dirs()
- var/b1
- var/b2
-
- for(var/d in cardinal)
- if(p_dir & d)
- if(!b1)
- b1 = d
- else if(!b2)
- b2 = d
-
- return list(b1, b2, p_dir)
-
-// returns a list of the directions of a pipe, matched to nodes (if present)
-
-/obj/machinery/pipes/proc/get_node_dirs()
- var/list/dirs = get_dirs()
-
-
- if(!node1 && !node2) // no nodes - just return the standard dirs
- return dirs // note extra p_dir on end of list is unimportant
- else
- if(node1)
- var/d1 = get_dir(src, node1) // find the direction of node1
- if(d1==dirs[1]) // if it matches
- return dirs // then dirs list is correct
- else
- return list(dirs[2], dirs[1]) // otherwise return the list swapped
-
- else // node2 must be valid
- var/d2 = get_dir(src, node2) // direction of node2
- if(d2==dirs[2]) // matches
- return dirs // dirs list is correct
- else
- return list(dirs[2], dirs[1]) // otherwise swap order
-
-
-/obj/machinery/pipes/proc/update()
-
- var/turf/T = src.loc
-
- var/list/dirs = get_dirs()
-
- var/is = "[dirs[3]]"
-
- if(stat & BROKEN)
- is += "-b"
-
- if ((src.level == 1 && isturf(src.loc) && T.intact))
- src.invisibility = 101
- is += "-f"
-
- else
- src.invisibility = 0
-
- src.icon_state = is
-
- if(node1 && node2)
- overlays.Cut()
- else if(!node1 && !node2)
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1])
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2])
- else if(!node1)
- var/d2 = get_dir(src, node2)
- if(dirs[1] == d2)
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2])
- else
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1])
- else if(!node2)
- var/d1 = get_dir(src, node1)
- if(dirs[1] == d1)
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2])
- else
- overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1])
-
-
- return
-
-/obj/machinery/pipes/hide(var/i)
- update()
-
- //its lazy right now but wait until after my exams and I'll redo it.
- //redid it, oh shit
-
-/obj/machinery/pipes/proc/rupture()
-
- stat |= BROKEN
- update()
-
-/obj/machinery/pipes/Del()
- stat |= BROKEN
- update()
- ..()
-
-
-/obj/machinery/pipes/attackby(obj/item/weapon/W as obj, mob/user as mob)
-
- if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
- if(!(stat & BROKEN))
- return
- if (W:weldfuel < 2)
- user << "\blue You need more welding fuel to complete this task."
- return
- W:weldfuel -= 2
- stat &= ~BROKEN
- update()
- for (var/mob/M in viewers(src))
- M.show_message("\red The pipe has been mended by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
- return
-
-/obj/machinery/pipes/ex_act(severity)
- switch(severity)
- if(1.0)
- del(src)
- return
- if(2.0)
- stat |= BROKEN
- update()
- if (prob(50))
- del(src)
- return
- if(3.0)
- if(prob(75))
- stat |= BROKEN
- update()
- if (prob(25))
- del(src)
- return
- else
- return
-/*
- var/strength = (((plasma + oxygen/2.0) / 1600000.0) * sqrt(temp) ) / 10
- message_admins("CODER: Pipe explosion strength: [strength], Temperature: [temp], Plasma: [plasma], Oxygen: [oxygen]")
- //lets say hypothetically it uses up 9/10 of its energy in bursting the pipe
-
- if (strength < 773.0)
- var/turf/T = get_turf(src.loc)
- T.poison += plasma
- T.firelevel = T.poison
- T.res_vars()
-
- //if ((src.gas.temperature > (450+T0C) && src.gas.plasma == 1600000.0))
-
- if (strength > (450+T0C))
- var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z)
- var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z)
- defer_powernet_rebuild = 1
-
- for(var/turf/U in block(sw, ne))
- var/zone = 4
- if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) )
- zone = 3
- if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 1) && U.x >= (T.x - 1) ))
- zone = 2
- for(var/atom/A in U)
- A.ex_act(zone)
- //Foreach goto(342)
- U.ex_act(zone)
- U.buildlinks()
- //Foreach goto(170)
- defer_powernet_rebuild = 0
- makepowernets()
-
- else
- //if ((src.gas.temperature > (300+T0C) && src.gas.plasma == 1600000.0))
- if (strength > (300+T0C))
- var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z)
- var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z)
- defer_powernet_rebuild = 1
-
- for(var/turf/U in block(sw, ne))
- var/zone = 4
- if ((U.y <= (T.y + 2) && U.y >= (T.y - 2) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) )
- zone = 3
- for(var/atom/A in U)
- A.ex_act(zone)
- //Foreach goto(598)
- U.ex_act(zone)
- U.buildlinks()
- //Foreach goto(498)
- defer_powernet_rebuild = 0
- makepowernets()
-
- //src.master = null
- //SN src = null
- del(src)
- return
-
- var/turf/T = src.loc
- while(!( istype(T, /turf) ))
- T = T.loc
-
- for(var/mob/M in range(T))
- flick("flash", M.flash)
- //Foreach goto(732)
- //var/m_range = 2
-
- var/m_range = round(strength / 387)
- for(var/obj/machinery/atmoalter/canister/C in range(2, T))
- if (!( C.destroyed ))
- if (C.gas.plasma >= 35000)
- C.destroyed = 1
- m_range++
-
- //Foreach goto(776)
- var/min = m_range
- var/med = m_range * 2
- var/max = m_range * 3
- var/u_max = m_range * 4
-
- var/turf/sw = locate(max(T.x - u_max, 1), max(T.y - u_max, 1), T.z)
- var/turf/ne = locate(min(T.x + u_max, world.maxx), min(T.y + u_max, world.maxy), T.z)
-
- defer_powernet_rebuild = 1
-
- for(var/turf/U in block(sw, ne))
-
- var/zone = 4
- if ((U.y <= (T.y + max) && U.y >= (T.y - max) && U.x <= (T.x + max) && U.x >= (T.x - max) ))
- zone = 3
- if ((U.y <= (T.y + med) && U.y >= (T.y - med) && U.x <= (T.x + med) && U.x >= (T.x - med) ))
- zone = 2
- if ((U.y <= (T.y + min) && U.y >= (T.y - min) && U.x <= (T.x + min) && U.x >= (T.x - min) ))
- zone = 1
- for(var/atom/A in U)
- A.ex_act(zone)
- //Foreach goto(1217)
- U.ex_act(zone)
- U.buildlinks()
- //U.mark(zone)
-
- //Foreach goto(961)
- //src.master = null
- defer_powernet_rebuild = 0
- makepowernets()
-
- //SN src = null
- del(src)
- return
-*/
-/*
-/obj/machinery/pipes/process()
-*/
-
-/obj/machinery/pipes/New()
-
- ..()
-
- if(istype(src, /obj/machinery/pipes/heat_exch))
- h_dir = text2num(icon_state)
- else
- p_dir = text2num(icon_state)
-
-
-/obj/machinery/pipes/ispipe() // return true since this is a pipe
- return 1
-
-/obj/machinery/pipes/buildnodes(var/linenum)
-
- var/list/dirs = get_dirs()
-
- node1 = get_machine(level, src.loc, dirs[1])
- node2 = get_machine(level, src.loc, dirs[2])
-
- if(plnum)
- return
-
- update()
-
- plnum = linenum
-
- termination = 0
-
- if(node1 && node1.ispipe() )
-
- node1.buildnodes(linenum)
- else
- termination++
-
- if(node2 && node2.ispipe() )
- node2.buildnodes(linenum)
- else
- termination++
-
-
-/obj/machinery/pipes/heat_exch/get_dirs()
- var/b1
- var/b2
-
- for(var/d in cardinal)
- if(h_dir & d)
- if(!b1)
- b1 = d
- else if(!b2)
- b2 = d
-
- return list(b1, b2, h_dir)
-
-/obj/machinery/pipes/heat_exch/buildnodes(var/linenum)
-
- src.level = 2 // h/e pipe cannot be put underfloor
-
- var/list/dirs = get_dirs()
-
- node1 = get_he_machine(level, src.loc, dirs[1])
- node2 = get_he_machine(level, src.loc, dirs[2])
-
- if(plnum)
- return
-
- update()
-
- plnum = linenum
-
- termination = 0
-
- if(node1 && node1.ispipe() )
-
- node1.buildnodes(linenum)
- else
- termination++
-
- if(node2 && node2.ispipe() )
- node2.buildnodes(linenum)
- else
- termination++
-
-
-/obj/machinery/pipes/proc/heat_exchange(var/datum/gas_mixture/gas, var/tot_node, var/numnodes, var/temp, var/dbg=0)
-
-/* var/turf/T = src.loc // turf location of pipe
- if(T.density) return
- if(istype(src, /obj/machinery/pipes/flexipipe)) return
-
- if( level != 1) // no heat exchange for under-floor pipes
- if(istype(T,/turf/space)) // heat exchange less efficient in space (no conduction)
- gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes)
- else
-
- // if(dbg) world.log << "PHE: ([x],[y]) [T.temp]-> \..."
- var/delta_T = (T.temp - temp) / (insulation) // normal turf
-
- gas.temperature += delta_T / numnodes // heat the pipe due to turf temperature
-
- /*
- if(abs(delta_T*tot_node/T.total_moles()) > 1)
- world.log << "Turf [T] at [T.x],[T.y]: gt=[temp] tt=[T.temp]"
- world.log << "dT = [delta_T] tn=[tot_node] ttg=[T.total_moles()] tt-=[delta_T*tot_node/T.total_moles()]"
-
- */
- var/tot_turf = max(1, T.total_moles())
- T.temp -= delta_T*min(10,tot_node/tot_turf) // also heat the turf due to pipe temp
- // clamp max temp change to prevent thermal runaway
- // if low amount of gas in turf
- // if(dbg) world.log << "[T.temp] [tot_turf] #[delta_T]"
- T.res_vars() // ensure turf tmp vars are updated
-
- else // if level 1 but in space, perform cooling anyway - exposed pipes
- if(istype(T,/turf/space))
- gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes)
-*/ //TODO FIX
-// finds the machine with compatible p_dir in 1 step in dir from S
-/proc/get_machine(var/level, var/turf/S, mdir)
-
- var/flip = turn(mdir, 180)
-
- var/turf/T = get_step(S, mdir)
-
- for(var/obj/machinery/M in T.contents)
- if(M.level == level)
- if(M.p_dir & flip)
- return M
-
- return null
-
-// finds the machine with compatible h_dir in 1 step in dir from S
-/proc/get_he_machine(var/level, var/turf/S, mdir)
-
- var/flip = turn(mdir, 180)
-
- var/turf/T = get_step(S, mdir)
-
- for(var/obj/machinery/M in T.contents)
- if(M.level == level)
- if(M.h_dir & flip)
- return M
-
- return null
-
-// ***** circulator
-
-/obj/machinery/circulator/New()
- ..()
- gas1 = new /datum/gas_mixture()
- gas2 = new /datum/gas_mixture()
-
- ngas1 = new /datum/gas_mixture()
- ngas2 = new /datum/gas_mixture()
-
- gasflowlist += src
-
- //gas.co2 = capacity
-
- updateicon()
-
-/obj/machinery/circulator/buildnodes()
-
- var/turf/TS = get_step(src, SOUTH)
- var/turf/TN = get_step(src, NORTH)
-
- for(var/obj/machinery/M in TS)
-
- if(M && (M.p_dir & 1))
- node1 = M
- break
-
- for(var/obj/machinery/M in TN)
-
- if(M && (M.p_dir & 2))
- node2 = M
- break
-
-
- if(node1) vnode1 = node1.getline()
-
- if(node2) vnode2 = node2.getline()
-
-
-/*
-/obj/machinery/circulator/verb/toggle_power()
- set src in view(1)
-
- if(status == 1)
- status = 2
- spawn(30) // 3 second delay for slow-off
- if(status == 2)
- status = 0
- updateicon()
- else if(status == 0)
- status =1
-
- updateicon()
-
-
-
-/obj/machinery/circulator/verb/set_rate(r as num)
- set src in view(1)
- rate = r/100.0*capacity
-*/
-
-/obj/machinery/circulator/proc/control(var/on, var/prate)
-
- rate = prate/100*capacity
-
- if(status == 1)
- if(!on)
- status = 2
- spawn(30)
- if(status == 2)
- status = 0
- updateicon()
- else if(status == 0)
- if(on)
- status = 1
- else // status ==2
- if(on)
- status = 1
-
- updateicon()
-
-
-/obj/machinery/circulator/proc/updateicon()
-
- if(stat & NOPOWER)
- icon_state = "circ[side]-p"
- return
-
- var/is
- switch(status)
- if(0)
- is = "off"
- if(1)
- is = "run"
- if(2)
- is = "slow"
-
- icon_state = "circ[side]-[is]"
-
-
-
-/obj/machinery/circulator/power_change()
- ..()
- updateicon()
-
-/*
-/obj/machinery/circulator/receive_gas(var/obj/substance/gas/t_gas as obj, from as obj, amount)
-
-
- if(from != src.node1)
- return
-
- amount = min(receive_amount(src), amount)
-
-
- //src.gas.transfer_from(t_gas, amount)
-
- return
-*/
-/obj/machinery/circulator/gas_flow()
-
- gas1.copy_from(ngas1)
- gas2.copy_from(ngas2)
-
-/obj/machinery/circulator/process()
- /*
- // if operating, pump from resv1 to resv2
-
- if(! (stat & NOPOWER) ) // only do circulator step if powered; still do rest of gas flow at all times
- if(status==1 || status==2)
- gas2.transfer_from(gas1, status==1? rate : rate/2)
- use_power(rate/capacity * 100)
- ngas1.copy_from(gas1)
- ngas2.copy_from(gas2)
-
-
- // now do standard process
-
- var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult)
- calc_delta( src, gas1, ngas1, vnode1, delta_gt)
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult)
- calc_delta( src, gas2, ngas2, vnode2, delta_gt)
- else
- leak_to_turf(2)*/ //TODO FIX
-
-/obj/machinery/circulator/proc/leak_to_turf(var/port)
- /*
- var/turf/T
-
- switch(port)
- if(1)
- T = get_step(src, SOUTH)
- if(2)
- T = get_step(src, NORTH)
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- switch(port)
- if(1)
- flow_to_turf(gas1, ngas1, T)
- if(2)
- flow_to_turf(gas2, ngas2, T)
-
-
- // do leak
- */ //TODO: FIX
-
-/*
-/obj/machinery/circulator/get_gas_moles(from)
- if(from == vnode1)
- return gas1.total_moles()/capmult
- else
- return gas2.total_moles()/capmult
-*/ //TODO: FIX
-/obj/machinery/circulator/get_gas(from)
- if(from == vnode1)
- return gas1
- else
- return gas2
-
-/*
-/obj/machinery/connector/New()
- ..()
-
- gas = new /datum/gas_mixture()
- ngas = new /datum/gas_mixture()
- //agas = new/obj/substance/gas()
-
- gasflowlist += src
- spawn(5)
- var/obj/machinery/atmoalter/A = locate(/obj/machinery/atmoalter, src.loc)
-
- if(A && A.c_status != 0)
- connected = A
- A.anchored = 1
-
-
-
-
-/obj/machinery/connector/buildnodes()
- var/turf/T = get_step(src.loc, src.dir)
- var/fdir = turn(src.p_dir, 180)
-
- for(var/obj/machinery/M in T)
- if(M.p_dir & fdir)
- src.node = M
- break
-
- if(node) vnode = node.getline()
-
-
- return
-
-
-
-/obj/machinery/connector/examine()
- set src in oview(1)
- ..()
- if(connected)
- usr << "It is connected to \an [connected.name]."
- else
- usr << "It is unconnected."
-
-
-
-/obj/machinery/connector/get_gas_val(from)
- return gas.total_moles()/capmult
-
-/obj/machinery/connector/get_gas(from)
- return gas
-
-
-/obj/machinery/connector/gas_flow()
-
-// var/dbg = (suffix == "d") && Debug
- //if(dbg) world.log << "CF0: ngas=[ngas.total_moles()]"
-
- //ngas.transfer_from(agas, -1)
-
- //if(dbg) world.log << "CF1: ngas=[gas.total_moles()]"
- gas.copy_from(ngas)
- //if(dbg) world.log << "CF2: gas=[gas.total_moles()]"
- flag = 0
-
-/obj/machinery/connector/process()
- //if(suffix=="dbgp")
- // world.log << "CP"
- // Plasma()
-
- var/delta_gt
-// var/dbg = (suffix == "d") && Debug
-
- //if(dbg) world.log << "C[tag]P: [gas.total_moles()] ~ [ngas.total_moles()]"
- //if(dbg && connected) world.log << "C[tag]PC: [connected.gas.total_moles()]"
-
- if(vnode)
-
- delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult)
- //if(dbg) world.log << "C[tag]P0: [delta_gt]"
-
- //var/obj/substance/gas/vgas = vnode.get_gas(src)
-
- //if(dbg) world.log << "C[tag]P1: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]"
- calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg)
- //if(dbg) world.log << "C[tag]P2: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]"
-
- else
- leak_to_turf()
-
- if(connected)
- var/amount
- if(connected.c_status == 1) // canister set to release
-
- //if(dbg) world.log << "C[tag]PC1: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]"
- amount = min(connected.c_per, capacity - gas.total_moles() ) // limit to space in connector
- amount = max(0, min(amount, connected.gas.total_moles() ) ) // limit to amount in canister, or 0
- //if(dbg) world.log << "C[tag]PC2: a=[amount]"
- //var/ng = ngas.total_moles()
- ngas.transfer_from( connected.gas, amount)
- //if(dbg) world.log <<"[ngas.total_moles()-ng] from siph to connector"
- //if(dbg) world.log << "C[tag]PC3: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]"
- else if(connected.c_status == 2) // canister set to accept
-
- amount = min(connected.c_per, connected.gas.maximum - connected.gas.total_moles()) //limit to space in canister
- amount = max(0, min(amount, gas.total_moles() ) ) // limit to amount in connector, or 0
-
- connected.gas.transfer_from( ngas, amount)
-
- //flag = 1
-
- //if(suffix=="dbgp")
- // world.log << "CP"
- // Plasma()
-*/ //TODO: FIX
-
-
-/obj/machinery/connector/proc/leak_to_turf()
- /*
- //var/dbg = (tag == "dbg") && Debug
-
- var/turf/T = get_step(src, dir)
- if(T && !T.density)
-
- //if(dbg) world.log << "CLT1: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]"
-
-
- flow_to_turf(gas, ngas, T)
-
- //if(dbg) world.log << "CLT2: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]"
- */
-
-
-/obj/machinery/junction/New()
- ..()
- gas = new/datum/gas_mixture(src)
- ngas = new/datum/gas_mixture()
- gasflowlist += src
-
- h_dir = dir // the h/e pipe is in obj dir
- p_dir = turn(dir, 180) // the reg pipe is in opposite dir
-
-
-/obj/machinery/junction/buildnodes()
-
- var/turf/T = src.loc
-
- node1 = get_he_machine(level, T, h_dir ) // the h/e pipe
-
- node2 = get_machine(level, T , p_dir ) // the regular pipe
-
- if(node1) vnode1 = node1.getline()
- if(node2) vnode2 = node2.getline()
-
- return
-
-
-/obj/machinery/junction/gas_flow()
-
- //var/dbg
- //if(tag == "dbg1")
- // dbg = 1
- //else if(tag == "dbg2")
- // dbg = 2
-
- //if(dbg) world.log << "J[dbg]F1: [gas.tostring()] ~ [ngas.tostring()]"
-
-
- gas.copy_from(ngas)
-
- //if(dbg) world.log << "J[dbg]F2: [gas.tostring()] ~ [ngas.tostring()]"
-
-/obj/machinery/junction/process()
-/*
- //var/dbg
- //if(tag == "dbg1")
- // dbg = 1
- //else if(tag == "dbg2")
- // dbg = 2
-
- //if(dbg) world.log << "J[dbg]P: [gas.tostring()] ~ [ngas.tostring()]"
-
- var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode1, delta_gt) //, dbg)
-
- // if(dbg) world.log << "J[dbg]T1: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]"
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode2, delta_gt) //, dbg)
-
- // if(dbg) world.log << "J[dbg]T2: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]"
- else
- leak_to_turf(2)
-*/ //TODO: FIX
-
-/obj/machinery/junction/get_gas_val(from)
- return gas.total_moles()/capmult
-
-/obj/machinery/junction/get_gas(from)
- return gas
-
-/obj/machinery/junction/proc/leak_to_turf(var/port)
-
- var/turf/T
-
-
- switch(port)
- if(1)
- T = get_step(src, dir)
- if(2)
- T = get_step(src, turn(dir, 180) )
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- flow_to_turf(gas, ngas, T)
-
-
-/obj/machinery/vent/New()
-
- ..()
- p_dir = dir
- gas = new /datum/gas_mixture(src)
- ngas = new /datum/gas_mixture()
- gasflowlist += src
-
-
-/obj/machinery/vent/buildnodes()
-
- var/turf/T = get_step(src.loc, src.dir)
- var/fdir = turn(src.p_dir, 180)
-
- for(var/obj/machinery/M in T)
- if(M.p_dir & fdir)
- src.node = M
- break
-
- if(node) vnode = node.getline()
-
- return
-
-
-/obj/machinery/vent/get_gas_val(from)
- return gas.total_moles()/2
-
-/obj/machinery/vent/get_gas(from)
- return gas
-
-
-/obj/machinery/vent/gas_flow()
-
-// var/dbg = (suffix=="d") && Debug
- //if(dbg) world.log << "V[tag]F1: [gas.total_moles()] ~ [ngas.total_moles()]"
- gas.copy_from(ngas)
- //if(dbg) world.log << "V[tag]F2: [gas.total_moles()] ~ [ngas.total_moles()]"
-
-/obj/machinery/vent/process()
- /*
-
-// var/dbg = (suffix=="d") && Debug
- //if(dbg) world.log << "V[tag]T1: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- //if(suffix=="dbgp")
- // world.log << "VP"
- // Plasma()
-
- var/delta_gt
-
- var/turf/T = src.loc
-
- delta_gt = FLOWFRAC * (gas.total_moles() / capmult)
- //var/ng = ngas.total_moles()
- ngas.turf_add(T, delta_gt)
-
- //if(dbg) world.log << "[num2text(ng-ngas.total_moles(),10)] from vent to turf"
- //if(dbg) world.log << "V[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- if(vnode)
-
- //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult)
-
- calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg)
-
- //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- else
- leak_to_turf()
- */ //TODO: FIX
-
-
-/obj/machinery/vent/proc/leak_to_turf()
-// note this is a leak from the node, not the vent itself
-// thus acts as a link between the vent turf and the turf in step(dir)
-
- var/turf/T = get_step(src, dir)
- if(T && !T.density)
- flow_to_turf(gas, ngas, T)
-
-
-// inlet - equilibrates between pipe contents and turf
-// very similar to vent, except that a vent always dumps pipe gas into turf
-/obj/machinery/inlet/New()
-
- ..()
-
- p_dir = dir
- gas = new /datum/gas_mixture(src)
- ngas = new /datum/gas_mixture()
- gasflowlist += src
-
-
-/obj/machinery/inlet/buildnodes()
-
- var/turf/T = get_step(src.loc, src.dir)
- var/fdir = turn(src.p_dir, 180)
-
- for(var/obj/machinery/M in T)
- if(M.p_dir & fdir)
- src.node = M
- break
-
- if(node) vnode = node.getline()
-
- return
-
-
-/obj/machinery/inlet/get_gas_val(from)
- return gas.total_moles()/2
-
-/obj/machinery/inlet/get_gas(from)
- return gas
-
-
-/obj/machinery/inlet/gas_flow()
-
- gas.copy_from(ngas)
-
-/obj/machinery/inlet/process()
- /*
- //if(suffix=="dbgp")
- // world.log << "VP"
- // Plasma()
-
- var/delta_gt
-
- var/turf/T = src.loc
-
- // this is the difference between vent and inlet
-
- if(T && !T.density)
- flow_to_turf(gas, ngas, T, dbg) // act as gas leak
-
- if(dbg) world.log << "I[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- if(vnode)
-
- //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult)
-
- calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg)
-
- //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]"
-
- else
- leak_to_turf()
- */ //TODO: FIX
-
-
-
-/obj/machinery/inlet/proc/leak_to_turf()
-// note this is a leak from the node, not the inlet itself
-// thus acts as a link between the inlet turf and the turf in step(dir)
-
- var/turf/T = get_step(src, dir)
- if(T && !T.density)
- flow_to_turf(gas, ngas, T)
-
-
-
-// standard proc for all machines - passed gas/ngas as arguments
-// equilibrate a pipe object and a turf's gas content
-
-/obj/machinery/proc/flow_to_turf(var/datum/gas_mixture/sgas, var/datum/gas_mixture/sngas, var/turf/T, var/dbg = 0)
-/*
- if(dbg) world.log << "FTT: G=[sgas.tostring()] ~ N=[sngas.tostring()]"
- if(dbg) world.log << "T=[T.tostring()]"
-
-
-
- var/t_tot = T.total_moles() * 0.2 // partial pressure of turf gas at pipe, for the moment
-
- var/delta_gt = FLOWFRAC * ( t_tot - sgas.total_moles() / capmult )
-
- if(dbg) world.log << "FTT: dgt=[delta_gt]"
-
- var/datum/gas_mixture/ndelta = new()
-
- if(delta_gt < 0) // flow from pipe to turf
-
- //world.log << "FTT<0"
- ndelta.set_frac(sgas, -delta_gt) // ndelta contains gas to transfer to turf
- //world.log << "ND=[ndelta.tostring()]"
- sngas.sub_delta(ndelta) // update new gas to remove the amount transfered
- //world.log << "SN=[sngas.tostring()]"
- ndelta.turf_add(T, -1) // add all of ndelta to turf
- //world.log << "T=[T.tostring()]"
-
- //world.log << "LTT: [num2text(-delta_gt,10)] from [sgas.loc] to turf"
-
-
- else // flow from turf to pipe
- if(dbg) world.log << "FTT>0"
-
- sngas.turf_take(T, delta_gt) // grab gas from turf and direcly add it to the new gas
- if(dbg) world.log << "SN=[sngas.tostring()]"
- if(dbg) world.log << "T=[T.tostring()]"
-
- if(dbg) world.log << "LTT: [num2text(delta_gt,10)] from turf to [sgas.loc]"
-
- T.res_vars() // update turf gas vars for both cases
-*/ //TODO: FIX
-
-// on-off valve
-
-/obj/machinery/valve/mvalve/New()
- ..()
- gas1 = new/datum/gas_mixture/(src)
- ngas1 = new/datum/gas_mixture/()
- gas2 = new/datum/gas_mixture/(src)
- ngas2 = new/datum/gas_mixture/()
-
- gasflowlist += src
- switch(dir)
- if(1, 2)
- p_dir = 3
- if(4,8)
- p_dir = 12
-
- icon_state = "valve[open]"
-
-/obj/machinery/valve/mvalve/examine()
- set src in oview(1)
-
- usr << "[desc] It is [ open? "open" : "closed"]."
-
-
-
-/obj/machinery/valve/mvalve/buildnodes()
- var/turf/T = src.loc
-
- node1 = get_machine(level, T, dir ) // the h/e pipe
-
- node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe
-
- if(node1) vnode1 = node1.getline()
- if(node2) vnode2 = node2.getline()
-
- return
-
-
-/obj/machinery/valve/mvalve/gas_flow()
- gas1.copy_from(ngas1)
- gas2.copy_from(ngas2)
-
-
-/obj/machinery/valve/mvalve/process()
-/* var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult)
- calc_delta( src, gas1, ngas1, vnode1, delta_gt)
-
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult)
- calc_delta( src, gas2, ngas2, vnode2, delta_gt)
-
- else
- leak_to_turf(2)
-
-
- if(open) // valve operating, so transfer btwen resv1 & 2
-
- delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult)
-
- var/datum/gas_mixture//ndelta = new()
-
- if(delta_gt < 0) // then flowing from R2 to R1
-
- ndelta.set_frac(gas2, -delta_gt)
-
- ngas2.sub_delta(ndelta)
- ngas1.add_delta(ndelta)
-
- else // flowing from R1 to R2
- ndelta.set_frac(gas1, delta_gt)
- ngas2.add_delta(ndelta)
- ngas1.sub_delta(ndelta)*/ //TODO: FIX
-
-
-
-
-/obj/machinery/valve/mvalve/get_gas_val(from)
- if(from == vnode2)
- return gas2.total_moles()/capmult
- else
- return gas1.total_moles()/capmult
-
-/obj/machinery/valve/mvalve/get_gas(from)
- if(from == vnode2)
- return gas2
- return gas1
-
-/obj/machinery/valve/mvalve/proc/leak_to_turf(var/port)
-
- var/turf/T
-
-
- switch(port)
- if(1)
- T = get_step(src, dir)
- if(2)
- T = get_step(src, turn(dir, 180) )
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- if(port==1)
- flow_to_turf(gas1, ngas1, T)
- else
- flow_to_turf(gas2, ngas2, T)
-
-/obj/machinery/valve/mvalve/attack_paw(mob/user)
- attack_hand(user)
-
-/obj/machinery/valve/mvalve/attack_ai(mob/user)
- user << "\red You are unable to use this as it is physically operated."
- return
-
-/obj/machinery/valve/mvalve/attack_hand(mob/user)
- ..()
- add_fingerprint(user)
- if(stat & BROKEN)
- return
-
- if(!open) // now opening
- flick("valve01", src)
- icon_state = "valve1"
- sleep(10)
- else // now closing
- flick("valve10", src)
- icon_state = "valve0"
- sleep(10)
- open = !open
-
-// Digital Valve
-
-/obj/machinery/valve/dvalve/New()
- ..()
- gas1 = new/datum/gas_mixture/(src)
- ngas1 = new/datum/gas_mixture/()
- gas2 = new/datum/gas_mixture/(src)
- ngas2 = new/datum/gas_mixture/()
-
- gasflowlist += src
- switch(dir)
- if(1, 2)
- p_dir = 3
- if(4,8)
- p_dir = 12
-
- icon_state = "dvalve[open]"
-
-/obj/machinery/valve/dvalve/examine()
- set src in oview(1)
- if(NOPOWER)
- usr << "[desc] It is unpowered! It is [ open? "open" : "closed"]."
- return
- usr << "[desc] It is [ open? "open" : "closed"]."
-
-
-
-/obj/machinery/valve/dvalve/buildnodes()
- var/turf/T = src.loc
-
- node1 = get_machine(level, T, dir ) // the h/e pipe
-
- node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe
-
- if(node1) vnode1 = node1.getline()
- if(node2) vnode2 = node2.getline()
-
- return
-
-
-/obj/machinery/valve/dvalve/gas_flow()
- gas1.copy_from(ngas1)
- gas2.copy_from(ngas2)
-
-/obj/machinery/valve/dvalve/power_change()
- ..()
- if(stat & NOPOWER)
- icon_state = "dvalve[open]nopower"
- return
- icon_state = "dvalve[open]"
-
-
-/obj/machinery/valve/dvalve/process()
- /*
- var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult)
- calc_delta( src, gas1, ngas1, vnode1, delta_gt)
-
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult)
- calc_delta( src, gas2, ngas2, vnode2, delta_gt)
-
- else
- leak_to_turf(2)
-
-
- if(open) // valve operating, so transfer btwen resv1 & 2
-
- delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult)
-
- var/datum/gas_mixture/ndelta = new()
-
- if(delta_gt < 0) // then flowing from R2 to R1
-
- ndelta.set_frac(gas2, -delta_gt)
-
- ngas2.sub_delta(ndelta)
- ngas1.add_delta(ndelta)
-
- else // flowing from R1 to R2
- ndelta.set_frac(gas1, delta_gt)
- ngas2.add_delta(ndelta)
- ngas1.sub_delta(ndelta)
- */ //TODO: FIX
-
-
-
-/obj/machinery/valve/dvalve/get_gas_val(from)
- if(from == vnode2)
- return gas2.total_moles()/capmult
- else
- return gas1.total_moles()/capmult
-
-/obj/machinery/valve/dvalve/get_gas(from)
- if(from == vnode2)
- return gas2
- return gas1
-
-/obj/machinery/valve/dvalve/proc/leak_to_turf(var/port)
-
- var/turf/T
-
-
- switch(port)
- if(1)
- T = get_step(src, dir)
- if(2)
- T = get_step(src, turn(dir, 180) )
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- if(port==1)
- flow_to_turf(gas1, ngas1, T)
- else
- flow_to_turf(gas2, ngas2, T)
-
-/obj/machinery/valve/dvalve/attack_paw(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/valve/dvalve/attack_ai(var/mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/valve/dvalve/attack_hand(mob/user)
- ..()
- add_fingerprint(user)
- if(stat & (BROKEN|NOPOWER))
- return
-
- if(!open) // now opening
- flick("dvalve01", src)
- icon_state = "dvalve1"
- sleep(10)
- else // now closing
- flick("dvalve10", src)
- icon_state = "dvalve0"
- sleep(10)
- open = !open
-
-// one way pipe
-
-/obj/machinery/oneway/New()
- ..()
- gas1 = new/datum/gas_mixture/(src)
- ngas1 = new/datum/gas_mixture/()
- gas2 = new/datum/gas_mixture/(src)
- ngas2 = new/datum/gas_mixture/()
-
- gasflowlist += src
- p_dir = dir|turn(dir, 180)
-
-/obj/machinery/oneway/buildnodes()
- var/turf/T = src.loc
-
- node1 = get_machine(level, T, dir )
- node2 = get_machine(level, T , turn(dir, 180) )
-
- if(node1) vnode1 = node1.getline()
- if(node2) vnode2 = node2.getline()
-
- return
-
-/obj/machinery/oneway/gas_flow()
- gas1.copy_from(ngas1)
- gas2.copy_from(ngas2)
-
-/obj/machinery/oneway/process()
-/*
- var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult)
- calc_delta( src, gas1, ngas1, vnode1, delta_gt)
-
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult)
- calc_delta( src, gas2, ngas2, vnode2, delta_gt)
-
- else
- leak_to_turf(2)
-
-
- delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult)
- var/datum/gas_mixture/ndelta = new()
-
- if(delta_gt < 0) // then flowing from R2 to R1
- ndelta.set_frac(gas2, -delta_gt)
- ngas2.sub_delta(ndelta)
- ngas1.add_delta(ndelta)*/ //TODO: FIX
-
-/obj/machinery/oneway/get_gas_val(from)
- if(from == vnode2)
- return gas2.total_moles()/capmult
- else
- return gas1.total_moles()/capmult
-
-/obj/machinery/oneway/get_gas(from)
- if(from == vnode2)
- return gas2
- return gas1
-
-/obj/machinery/oneway/proc/leak_to_turf(var/port)
- var/turf/T
-
- switch(port)
- if(1)
- T = get_step(src, dir)
- if(2)
- T = get_step(src, turn(dir, 180) )
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- if(port==1)
- flow_to_turf(gas1, ngas1, T)
- else
- flow_to_turf(gas2, ngas2, T)
-
-/obj/machinery/oneway/pipepump/process()
- /*
- if(! (stat & NOPOWER) ) // pump if power
- gas1.transfer_from(gas2, rate)
- use_power(25, ENVIRON)
- ngas1.copy_from(gas1)
- ngas2.copy_from(gas2)
-
- var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult)
- calc_delta( src, gas1, ngas1, vnode1, delta_gt)
-
- else
- leak_to_turf(1)
-
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult)
- calc_delta( src, gas2, ngas2, vnode2, delta_gt)
-
- else
- leak_to_turf(2)
- */ //TODO: FIX
-
-/obj/machinery/oneway/pipepump/proc/updateicon()
- icon_state = "pipepump-[(stat & NOPOWER) ? "stop" : "run"]"
-
-/obj/machinery/oneway/pipepump/power_change()
- if(powered(ENVIRON))
- stat &= ~NOPOWER
- else
-
- stat |= NOPOWER
- spawn(rand(1,15)) // So they don't all turn off at the same time
- updateicon()
-
-// Filter inlet
-// works with filter_control
-
-/obj/machinery/inlet/filter/New()
- ..()
- src.gas = new /datum/gas_mixture()
- src.ngas = new /datum/gas_mixture()
-
-/obj/machinery/inlet/filter/buildnodes()
- var/turf/T = get_step(src.loc, src.dir)
- var/fdir = turn(src.p_dir, 180)
-
- for(var/obj/machinery/M in T)
- if(M.p_dir & fdir)
- src.node = M
- break
-
- if(node) vnode = node.getline()
- return
-
-/obj/machinery/inlet/filter/get_gas_val(from)
- return gas.total_moles()/2
-
-/obj/machinery/inlet/filter/get_gas(from)
- return gas
-
-/obj/machinery/inlet/filter/gas_flow()
- gas.copy_from(ngas)
-
-/obj/machinery/inlet/filter/process()
- src.updateicon()
- if(!(stat & NOPOWER))
- /* var/turf/T = src.loc
- if(!T || T.density) return
-
- if(!vnode) return leak_to_turf()
- var/obj/substance/gas/exterior = new()
- exterior.oxygen = T.oxygen
- exterior.n2 = T.n2
- exterior.plasma = T.poison
- exterior.co2 = T.co2
- exterior.sl_gas = T.sl_gas
- exterior.temperature = T.temp
- var/obj/substance/gas/interior = gas
- var/obj/substance/gas/flowing = new()
-
- var/flow_rate = (exterior.total_moles()-interior.total_moles())*FLOWFRAC
- if(flow_rate <= 0)
- return
- flowing.set_frac(exterior,flow_rate)
- if(!(src.f_mask & GAS_O2)) flowing.oxygen = 0
- if(!(src.f_mask & GAS_N2)) flowing.n2 = 0
- if(!(src.f_mask & GAS_PL)) flowing.plasma = 0
- if(!(src.f_mask & GAS_CO2)) flowing.co2 = 0
- if(!(src.f_mask & GAS_N2O)) flowing.sl_gas = 0
- use_power(5,ENVIRON)
- exterior.sub_delta(flowing)
- interior.add_delta(flowing)*/ //TODO: FIX
- else
- ..()
- return
-
-/obj/machinery/inlet/filter/leak_to_turf()
-// note this is a leak from the node, not the inlet itself
-// thus acts as a link between the inlet turf and the turf in step(dir)
- var/turf/T = get_step(src, dir)
- if(T && !T.density)
- flow_to_turf(gas, ngas, T)
-
-/obj/machinery/inlet/filter/power_change()
- if(powered(ENVIRON))
- stat &= ~NOPOWER
- else
- stat |= NOPOWER
- spawn(rand(1,15))
- updateicon()
- return
-
-/obj/machinery/inlet/filter/proc/updateicon()
- /*
- if(stat & NOPOWER)
- icon_state = "inlet_filter-0"
- return
- if(src.gas.total_moles() > src.gas.maximum/2)
- icon_state = "inlet_filter-4"
- else if(src.gas.total_moles() > src.gas.maximum/3)
- icon_state = "inlet_filter-3"
- else if(src.gas.total_moles() > src.gas.maximum/4)
- icon_state = "inlet_filter-2"
- else if(src.gas.total_moles() >= 1 || src.f_mask >= 1)
- icon_state = "inlet_filter-1"
- else
- icon_state = "inlet_filter-0"
- return
- */ //TODO FIX
-
-// Filter vent
-// doesn't do anything yet
-
-/obj/machinery/vent/filter/power_change()
- if(powered(ENVIRON))
- stat &= ~NOPOWER
- else
- stat |= NOPOWER
- spawn(rand(1,15))
- updateicon()
- return
-
-/obj/machinery/vent/filter/proc/updateicon()
- /*
- if(stat & NOPOWER)
- icon_state = "vent_filter-0"
- return
- if(src.gas.total_moles() > src.gas.maximum/2)
- icon_state = "vent_filter-4"
- else if(src.gas.total_moles() > src.gas.maximum/3)
- icon_state = "vent_filter-3"
- else if(src.gas.total_moles() > src.gas.maximum/4)
- icon_state = "vent_filter-2"
- else if(src.gas.total_moles() >= 1 || src.f_mask >= 1)
- icon_state = "vent_filter-1"
- else
- icon_state = "vent_filter-0"
- return
- */ //TODO FIX
\ No newline at end of file
diff --git a/code/unused/pipe_filter.dm b/code/unused/pipe_filter.dm
deleted file mode 100644
index 8c67b9031f1..00000000000
--- a/code/unused/pipe_filter.dm
+++ /dev/null
@@ -1,243 +0,0 @@
-// *** pipefilter
-
-/obj/machinery/pipefilter/New()
- ..()
- p_dir = (NORTH|SOUTH|EAST|WEST) ^ turn(dir, 180)
-
- src.gas = new /datum/gas_mixture/()
- src.ngas = new /datum/gas_mixture/()
-
- src.f_gas = new /datum/gas_mixture/()
- src.f_ngas = new /datum/gas_mixture/()
-
- gasflowlist += src
-
-/obj/machinery/pipefilter/buildnodes()
- var/turf/T = src.loc
-
- n1dir = turn(dir, 90)
- n2dir = turn(dir,-90)
-
- node1 = get_machine( level, T , n1dir ) // the main flow dir
- node2 = get_machine( level, T , n2dir )
- node3 = get_machine( level, T, dir ) // the ejector port
-
- if(node1) vnode1 = node1.getline()
- if(node2) vnode2 = node2.getline()
- if(node3) vnode3 = node3.getline()
-
-/obj/machinery/pipefilter/gas_flow()
- gas.copy_from(ngas)
- f_gas.copy_from(f_ngas)
-
-/obj/machinery/pipefilter/process()
-/* var/delta_gt
-
- if(vnode1)
- delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode1, delta_gt)
- else
- leak_to_turf(1)
- if(vnode2)
- delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult)
- calc_delta( src, gas, ngas, vnode2, delta_gt)
- else
- leak_to_turf(2)
- if(vnode3)
- delta_gt = FLOWFRAC * ( vnode3.get_gas_val(src) - f_gas.total_moles() / capmult)
- calc_delta( src, f_gas, f_ngas, vnode3, delta_gt)
- else
- leak_to_turf(3)
-
- // transfer gas from ngas->f_ngas according to extraction rate, but only if we have power
- if(! (stat & NOPOWER) )
- use_power(min(src.f_per, 100),ENVIRON)
- var/datum/gas_mixture/ndelta = src.get_extract()
- ngas.sub_delta(ndelta)
- f_ngas.add_delta(ndelta)
- AutoUpdateAI(src)
- src.updateUsrDialog()*/ //TODO: FIX
-
-/obj/machinery/pipefilter/get_gas_val(from)
- return ((from == vnode3) ? f_gas.total_moles() : gas.total_moles())/capmult
-
-/obj/machinery/pipefilter/get_gas(from)
- return (from == vnode3) ? f_gas : gas
-
-/obj/machinery/pipefilter/proc/leak_to_turf(var/port)
- var/turf/T
-
- switch(port)
- if(1)
- T = get_step(src, n1dir)
- if(2)
- T = get_step(src, n2dir)
- if(3)
- T = get_step(src, dir)
- if(T.density)
- T = src.loc
- if(T.density)
- return
- flow_to_turf(f_gas, f_ngas, T)
- return
-
- if(T.density)
- T = src.loc
- if(T.density)
- return
-
- flow_to_turf(gas, ngas, T)
-
-/obj/machinery/pipefilter/proc/get_extract()
- /*
- var/datum/gas_mixture/ndelta = new()
- if (src.f_mask & GAS_O2)
- ndelta.oxygen = min(src.f_per, src.ngas.oxygen)
- if (src.f_mask & GAS_N2)
- ndelta.n2 = min(src.f_per, src.ngas.n2)
- if (src.f_mask & GAS_PL)
- ndelta.plasma = min(src.f_per, src.ngas.plasma)
- if (src.f_mask & GAS_CO2)
- ndelta.co2 = min(src.f_per, src.ngas.co2)
- if (src.f_mask & GAS_N2O)
- ndelta.sl_gas = min(src.f_per, src.ngas.sl_gas)
- return ndelta
- */ //TODO: FIX
-
-/obj/machinery/pipefilter/attackby(obj/item/weapon/W, mob/user as mob)
- if(istype(W, /obj/item/weapon/detective_scanner))
- return ..()
- if(istype(W, /obj/item/weapon/screwdriver))
- if(bypassed)
- user.show_message(text("\red Remove the foreign wires first!"), 1)
- return
- src.add_fingerprint(user)
- user.show_message(text("\red Now []securing the access system panel...", (src.locked) ? "un" : "re"), 1)
- sleep(30)
- locked =! locked
- user.show_message(text("\red Done!"),1)
- src.updateicon()
- return
- if(istype(W, /obj/item/weapon/cable_coil) && !bypassed)
- if(src.locked)
- user.show_message(text("\red You must remove the panel first!"),1)
- return
- var/obj/item/weapon/cable_coil/C = W
- if(C.use(4))
- user.show_message(text("\red You unravel some cable.."),1)
- else
- user.show_message(text("\red Not enough cable! (Requires four pieces)"),1)
- src.add_fingerprint(user)
- user.show_message(text("\red Now bypassing the access system... (This may take a while)"), 1)
- sleep(100)
- bypassed = 1
- src.updateicon()
- return
- if(istype(W, /obj/item/weapon/wirecutters) && bypassed)
- src.add_fingerprint(user)
- user.show_message(text("\red Now removing the bypass wires... (This may take a while)"), 1)
- sleep(50)
- bypassed = 0
- src.updateicon()
- return
- if(istype(W, /obj/item/weapon/card/emag) && (!emagged))
- emagged++
- src.add_fingerprint(user)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red [] has shorted out the [] with an electromagnetic card!", user, src), 1)
- src.overlays += image('icons/obj/pipes2.dmi', "filter-spark")
- sleep(6)
- src.updateicon()
- return src.attack_hand(user)
- return src.attack_hand(user)
-
-// pipefilter interact/topic
-/obj/machinery/pipefilter/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/pipefilter/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/pipefilter/attack_hand(mob/user as mob)
-/* if(stat & NOPOWER)
- user << browse(null, "window=pipefilter")
- user.machine = null
- return
-
- var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O")
- user.machine = src
- var/dat = "Filter Release Rate:
\nM - - - - - [src.f_per] + + + + + M
\n"
- for (var/i = 1; i <= gases.len; i++)
- dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Releasing" : "Passing"]
\n"
- if(gas.total_moles())
- var/totalgas = gas.total_moles()
- var/pressure = round(totalgas / gas.maximum * 100)
- var/nitrogen = gas.n2 / totalgas * 100
- var/oxygen = gas.oxygen / totalgas * 100
- var/plasma = gas.plasma / totalgas * 100
- var/co2 = gas.co2 / totalgas * 100
- var/no2 = gas.sl_gas / totalgas * 100
-
- dat += "
Gas Levels:
\nPressure: [pressure]%
\nNitrogen: [nitrogen]%
\nOxygen: [oxygen]%
\nPlasma: [plasma]%
\nCO2: [co2]%
\nN2O: [no2]%
\n"
- else
- dat += "
Gas Levels:
\nPressure: 0%
\nNitrogen: 0%
\nOxygen: 0%
\nPlasma: 0%
\nCO2: 0%
\nN2O: 0%
\n"
- dat += "
\nClose
\n"
-
- user << browse(dat, "window=pipefilter;size=300x365")*/ //TODO: FIX
- //onclose(user, "pipefilter")
-
-/obj/machinery/pipefilter/Topic(href, href_list)
- ..()
- if(usr.restrained() || usr.lying)
- return
- if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf)))
- usr.machine = src
- if (href_list["close"])
- usr << browse(null, "window=pipefilter;")
- usr.machine = null
- return
- if (src.allowed(usr) || src.emagged || src.bypassed)
- if (href_list["fp"])
- src.f_per = min(max(round(src.f_per + text2num(href_list["fp"])), 0), src.maxrate)
- else if (href_list["tg"])
- // toggle gas
- src.f_mask ^= text2num(href_list["tg"])
- src.updateicon()
- else
- usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)")
- AutoUpdateAI(src)
- src.updateUsrDialog()
- src.add_fingerprint(usr)
- else
- usr << browse(null, "window=pipefilter")
- usr.machine = null
- return
-
-/obj/machinery/pipefilter/power_change()
- if(powered(ENVIRON))
- stat &= ~NOPOWER
- else
- stat |= NOPOWER
- spawn(rand(1,15)) //so all the filters don't come on at once
- updateicon()
-
-/obj/machinery/pipefilter/proc/updateicon()
- src.overlays.Cut()
- if(stat & NOPOWER)
- icon_state = "filter-off"
- else
- icon_state = "filter"
- if(emagged) //only show if powered because presumeably its the interface that has been fried
- src.overlays += image('icons/obj/pipes2.dmi', "filter-emag")
- if (src.f_mask & (GAS_N2O|GAS_PL))
- src.overlays += image('icons/obj/pipes2.dmi', "filter-tox")
- if (src.f_mask & GAS_O2)
- src.overlays += image('icons/obj/pipes2.dmi', "filter-o2")
- if (src.f_mask & GAS_N2)
- src.overlays += image('icons/obj/pipes2.dmi', "filter-n2")
- if (src.f_mask & GAS_CO2)
- src.overlays += image('icons/obj/pipes2.dmi', "filter-co2")
- if(!locked)
- src.overlays += image('icons/obj/pipes2.dmi', "filter-open")
- if(bypassed) //should only be bypassed if unlocked
- src.overlays += image('icons/obj/pipes2.dmi', "filter-bypass")
\ No newline at end of file
diff --git a/code/unused/powerarmor/powerarmor.dm b/code/unused/powerarmor/powerarmor.dm
deleted file mode 100644
index d25dd4148d1..00000000000
--- a/code/unused/powerarmor/powerarmor.dm
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
- */
-
-/obj/item/clothing/suit/space/powered
- name = "Powered armor"
- desc = "Not for rookies."
- icon_state = "power_armour"
- item_state = "swat"
- w_class = 4//bulky item
-
-
- flags = FPRINT | STOPSPRESSUREDMAGE | THICKMATERIAL
- body_parts_covered = CHEST|LEGS|FEET|ARMS
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
- slowdown = 9
- var/fuel = 0
-
- var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
- var/active = 0
-
- var/helmrequired = 1
- var/obj/item/clothing/head/space/powered/helm
-
- var/glovesrequired = 0
- var/obj/item/clothing/gloves/powered/gloves
-
- var/shoesrequired = 0
- var/obj/item/clothing/shoes/powered/shoes
- //Adding gloves and shoes as possible armor components. --NEO
-
- var/obj/item/powerarmor/servos/servos
- var/obj/item/powerarmor/reactive/reactive
- var/obj/item/powerarmor/atmoseal/atmoseal
- var/obj/item/powerarmor/power/power
-
-/obj/item/clothing/suit/space/powered/New()
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
-/obj/item/clothing/suit/space/powered/proc/poweron()
- set category = "Object"
- set name = "Activate armor systems"
-
- var/mob/living/carbon/human/user = usr
-
- if(user.stat)
- return //if you're unconscious or dead, no dicking with your armor. --NEO
-
- if(!istype(user))
- user << "This suit was engineered for human use only."
- return
-
- if(user.wear_suit!=src)
- user << "The suit functions best if you are inside of it."
- return
-
- if(helmrequired && !istype(user.head, /obj/item/clothing/head/space/powered))
- user << "Helmet missing, unable to initiate power-on procedure."
- return
-
- if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered))
- user << "Gloves missing, unable to initiate power-on procedure."
- return
-
- if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered))
- user << "Shoes missing, unable to initiate power-on procedure."
- return
-
- if(active)
- user << "The suit is already on, you can't turn it on twice."
- return
-
- if(!power || !power.checkpower())
- user << "Powersource missing or depleted."
- return
-
- verbs -= /obj/item/clothing/suit/space/powered/proc/poweron
-
- user << "Suit interlocks engaged."
- if(helmrequired)
- helm = user.head
- helm.flags |= NODROP
- if(glovesrequired)
- gloves = user.gloves
- gloves.flags |= NODROP
- if(shoesrequired)
- shoes = user.shoes
- shoes.flags |= NODROP
- flags |= NODROP
- sleep(20)
-
- if(atmoseal)
- atmoseal.toggle()
- sleep(20)
-
- if(reactive)
- reactive.toggle()
- sleep(20)
-
- if(servos)
- servos.toggle()
- sleep(20)
-
- user << "All systems online."
- active = 1
- power.process()
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweroff
-
-
-/obj/item/clothing/suit/space/powered/proc/poweroff()
- set category = "Object"
- set name = "Deactivate armor systems"
- powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO
-
-/obj/item/clothing/suit/space/powered/proc/powerdown(sudden = 0)
-
- var/delay = sudden?0:20
-
- var/mob/living/carbon/human/user = usr
-
- if(user.stat && !sudden)
- return //if you're unconscious or dead, no dicking with your armor. --NEO
-
- if(!active)
- return
-
- verbs -= /obj/item/clothing/suit/space/powered/proc/poweroff
-
- if(sudden)
- user << "Your armor loses power!"
-
- if(servos)
- servos.toggle(sudden)
- sleep(delay)
-
- if(reactive)
- reactive.toggle(sudden)
- sleep(delay)
-
- if(atmoseal)
- if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm)
- var/obj/item/powerarmor/atmoseal/optional/Atmo_seal = atmoseal
- Atmo_seal.helmtoggle(sudden)
- atmoseal.toggle(sudden)
-
- sleep(delay)
-
- if(!sudden)
- usr << "Suit interlocks disengaged."
- if(helm)
- helm.flags &= ~NODROP
- helm = null
- if(gloves)
- gloves.flags &= ~NODROP
- gloves = null
- if(shoes)
- shoes.flags &= ~NODROP
- gloves = null
- flags &= ~NODROP
- //Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO
- sleep(delay)
-
- if(!sudden)
- usr << "All systems disengaged."
-
- active = 0
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
-
-
-/obj/item/clothing/suit/space/powered/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(power && istype(power,/obj/item/powerarmor/power/plasma))
- var/obj/item/powerarmor/power/plasma/Plasma_power = power
- switch(W.type)
- if(/obj/item/stack/sheet/mineral/plasma)
- var/obj/item/stack/sheet/mineral/plasma/P = W
- if(fuel < 50)
- user << "You feed some refined plasma into the armor's generator."
- Plasma_power.fuel += 25
- P.amount--
- if (P.amount <= 0)
- del(P)
- return
- else
- user << "The generator already has plenty of plasma."
- return
-
- if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO
- if(fuel < 50)
- user << "You feed some plasma into the armor's generator."
- Plasma_power.fuel += 15
- del(W)
- return
- else
- user << "The generator already has plenty of plasma."
- return
-
- ..()
-
-/obj/item/clothing/head/space/powered
- name = "Powered armor"
- icon_state = "power_armour_helmet"
- desc = "Not for rookies."
- flags = FPRINT | HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | BLOCKHAIR
- item_state = "swat"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
- var/obj/item/clothing/suit/space/powered/parent
-
-/obj/item/clothing/head/space/powered/proc/atmotoggle()
- set category = "Object"
- set name = "Toggle helmet seals"
-
- var/mob/living/carbon/human/user = usr
-
- if(!istype(user))
- user << "This helmet is engineered for human use."
- return
- if(user.head != src)
- user << "Can't engage the seals without wearing the helmet."
- return
-
- if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/space/powered))
- user << "This helmet can only couple with powered armor."
- return
-
- var/obj/item/clothing/suit/space/powered/armor = user.wear_suit
-
- if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional))
- user << "This armor's atmospheric seals are missing or incompatible."
- return
-
- armor.atmoseal:helmtoggle(0,1)
-
-
-
-/obj/item/clothing/gloves/powered
- name = "Powered armor"
- icon_state = "power_armour_gloves"
- desc = "Not for rookies."
- flags = FPRINT
- item_state = "swat"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
-
-/obj/item/clothing/shoes/powered
- name = "Powered armor"
- icon_state = "power_armour_boots"
- desc = "Not for rookies."
- flags = FPRINT
- item_state = "swat"
- armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
-
-
-obj/item/clothing/suit/space/powered/spawnable/badmin/New()
- servos = new /obj/item/powerarmor/servos(src)
- servos.parent = src
- reactive = new /obj/item/powerarmor/reactive(src)
- reactive.parent = src
- atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
- atmoseal.parent = src
- power = new /obj/item/powerarmor/power(src)
- power.parent = src
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
- var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
- helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
-
-obj/item/clothing/suit/space/powered/spawnable/regular/New()
- servos = new /obj/item/powerarmor/servos(src)
- servos.parent = src
- reactive = new /obj/item/powerarmor/reactive/Centcom(src)
- reactive.parent = src
- atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
- atmoseal.parent = src
- power = new /obj/item/powerarmor/power(src)
- power.parent = src
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
- var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
- helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
diff --git a/code/unused/powerarmor/powerarmorcomponents.dm b/code/unused/powerarmor/powerarmorcomponents.dm
deleted file mode 100644
index e4aa6ce7087..00000000000
--- a/code/unused/powerarmor/powerarmorcomponents.dm
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
- */
-
-/obj/item/powerarmor
- icon = 'icons/obj/PowerArmour.dmi'
- icon_state = "Plates"
- name = "Generic power armor component"
- desc = "This is the base object, you should never see one."
- var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to.
- slowdown = 0 //how much the component slows down the wearer
-
-/obj/item/powerarmor/proc/toggle()
- return
- //The child objects will use this proc
-
-
-/obj/item/powerarmor/power
- name = "Adminbus power armor power source"
- desc = "Runs on the rare Badminium molecule."
- icon_state = "Plasma"
-
-/obj/item/powerarmor/process()
- return
-
-/obj/item/powerarmor/proc/checkpower()
- return 1
-
-/obj/item/powerarmor/power/plasma
- name = "Miniaturized plasma generator"
- desc = "Runs on plasma."
- slowdown = 1
- var/fuel = 0
-
-/obj/item/powerarmor/power/plasma/process()
- if (fuel > 0 && parent.active)
- fuel--
- spawn(50)
- process()
- return
- else if (parent.active)
- parent.powerdown(1)
- return
-
-/obj/item/powerarmor/power/plasma/checkpower()
- return fuel
-
-/obj/item/powerarmor/power/powercell
- icon_state = "Powercell"
- name = "Powercell interface"
- desc = "Boring, but reliable."
- var/obj/item/weapon/stock_parts/cell/cell
- slowdown = 0.5
-
-/obj/item/powerarmor/power/powercell/process()
- if (cell && cell.charge > 0 && parent.active)
- cell.use(50)
- spawn(50)
- process()
- return
- else if (parent.active)
- parent.powerdown(1)
- return
-
-/obj/item/powerarmor/power/powercell/checkpower()
- return max(cell.charge, 0)
-
-/obj/item/powerarmor/power/nuclear
- icon_state = "Nuclear"
- name = "Miniaturized nuclear generator"
- desc = "For all your radioactive needs."
- slowdown = 1.5
-
-/obj/item/powerarmor/power/nuclear/process()
- if(!crit_fail)
- if(prob(src.reliability)) return 1 //No failure
- if(prob(src.reliability))
- for (var/mob/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation.
- if(src.parent in M.contents)
- M << "Your armor feels pleasantly warm for a moment."
- else
- M << "You feel a warm sensation."
- M.radiation += rand(1,40)
- else
- for (var/mob/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES
- if (src.parent in M.contents)
- M << "Your armor's reactor overloads!"
- M << "You feel a wave of heat wash over you."
- M.radiation += 100
- crit_fail = 1 //broken~
- parent.powerdown(1)
- spawn(50)
- process()
-
-/obj/item/powerarmor/power/nuclear/checkpower()
- return !crit_fail
-
-/obj/item/powerarmor/reactive
- icon_state = "Plates"
- name = "Adminbus power armor reactive plating"
- desc = "Made with the rare Badminium molecule."
- var/list/togglearmor = list(melee = 250, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
- //Good lord an active energy axe does 150 damage a swing? Anyway, barring var editing, this armor loadout should be impervious to anything. Enjoy, badmins~ --NEO
-
-/obj/item/powerarmor/reactive/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Reactive armor systems disengaged."
- if(0)
- usr << "Reactive armor systems engaged."
- var/list/switchover = list()
- for (var/armorvar in parent.armor)
- switchover[armorvar] = togglearmor[armorvar]
- togglearmor[armorvar] = parent.armor[armorvar]
- parent.armor[armorvar] = switchover[armorvar]
- //Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects.
- if(parent.helm)
- parent.helm.armor[armorvar] = parent.armor[armorvar]
- if(parent.gloves)
- parent.gloves.armor[armorvar] = parent.armor[armorvar]
- if(parent.shoes)
- parent.shoes.armor[armorvar] = parent.armor[armorvar]
-
-/obj/item/powerarmor/reactive/Centcom
- name = "Centcom power armor reactive plating"
- desc = "Pretty effective against everything, not perfect though."
- togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
- slowdown = 2
-
-
-/obj/item/powerarmor/servos
- icon_state = "Servo"
- name = "Adminbus power armor movement servos"
- desc = "Made with the rare Badminium molecule."
- var/toggleslowdown = 9
-
-/obj/item/powerarmor/servos/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Movement assist servos disengaged."
- parent.slowdown += toggleslowdown
- if(0)
- usr << "Movement assist servos engaged."
- parent.slowdown -= toggleslowdown
-
-/obj/item/powerarmor/atmoseal
- icon_state = "Tubes"
- name = "Power armor atmospheric seals"
- desc = "Keeps the bad stuff out."
- slowdown = 1
- var/sealed = 0
-
-/obj/item/powerarmor/atmoseal/toggle(sudden = 0)
- switch(parent.active)
- if(1)
- if(!sudden)
- usr << "Atmospheric seals disengaged."
- parent.gas_transfer_coefficient = 1
- parent.permeability_coefficient = 1
- if(parent.helmrequired)
- parent.helm.gas_transfer_coefficient = 1
- parent.helm.permeability_coefficient = 1
- parent.helm.cold_protection = initial(parent.helm.cold_protection)
- parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
- parent.helm.heat_protection = initial(parent.helm.heat_protection)
- parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
- if(parent.glovesrequired)
- parent.gloves.gas_transfer_coefficient = 1
- parent.gloves.permeability_coefficient = 1
- parent.gloves.cold_protection = initial(parent.gloves.cold_protection)
- parent.gloves.min_cold_protection_temperature = initial(parent.gloves.min_cold_protection_temperature)
- parent.gloves.heat_protection = initial(parent.gloves.heat_protection)
- parent.gloves.max_heat_protection_temperature = initial(parent.gloves.max_heat_protection_temperature)
- if(parent.shoesrequired)
- parent.shoes.gas_transfer_coefficient = 1
- parent.shoes.permeability_coefficient = 1
- parent.shoes.cold_protection = initial(parent.shoes.cold_protection)
- parent.shoes.min_cold_protection_temperature = initial(parent.shoes.min_cold_protection_temperature)
- parent.shoes.heat_protection = initial(parent.shoes.heat_protection)
- parent.shoes.max_heat_protection_temperature = initial(parent.shoes.max_heat_protection_temperature)
- sealed = 0
-
- if(0)
- usr << "Atmospheric seals engaged."
- parent.gas_transfer_coefficient = 0.01
- parent.permeability_coefficient = 0.02
- if(parent.helmrequired)
- parent.helm.gas_transfer_coefficient = 0.01
- parent.helm.permeability_coefficient = 0.02
- parent.helm.cold_protection = HEAD
- parent.helm.min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
- parent.helm.heat_protection = HEAD
- parent.helm.max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
- if(parent.glovesrequired)
- parent.gloves.gas_transfer_coefficient = 0.01
- parent.gloves.permeability_coefficient = 0.02
- parent.gloves.cold_protection = HANDS
- parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
- parent.gloves.heat_protection = HANDS
- parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
- if(parent.shoesrequired)
- parent.shoes.gas_transfer_coefficient = 0.01
- parent.shoes.permeability_coefficient = 0.02
- parent.shoes.cold_protection = FEET
- parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
- parent.shoes.heat_protection = FEET
- parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
- sealed = 1
-
-/obj/item/powerarmor/atmoseal/adminbus
- name = "Adminbus power armor atmospheric seals"
- desc = "Made with the rare Badminium molecule."
- slowdown = 0
-
-/obj/item/powerarmor/atmoseal/optional
- name = "Togglable power armor atmospheric seals"
- desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off."
-
-
-/obj/item/powerarmor/atmoseal/optional/proc/helmtoggle(sudden = 0, manual = 0)
- var/mob/living/carbon/human/user = usr
- var/obj/item/clothing/head/space/powered/helm
- if(user.head && istype(user.head,/obj/item/clothing/head/space/powered))
- helm = user.head
-
- if(!sealed)
- user << "Unable to initialize helmet seal, armor seals not active."
- return
- if(!helm.parent)
- user << "Helmet locked."
- helm.flags |= NODROP
- parent.helm = helm
- helm.parent = parent
- sleep(20)
- parent.helm.gas_transfer_coefficient = 0.01
- parent.helm.permeability_coefficient = 0.02
- parent.helm.cold_protection = HEAD
- parent.helm.min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
- parent.helm.heat_protection = HEAD
- parent.helm.max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
-
- user << "Helmet atmospheric seals engaged."
- if(manual)
- for (var/armorvar in helm.armor)
- helm.armor[armorvar] = parent.armor[armorvar]
- return
- else
- if(manual)
- user << "Helmet atmospheric seals disengaged."
- parent.helm.gas_transfer_coefficient = 1
- parent.helm.permeability_coefficient = 1
- parent.helm.cold_protection = initial(parent.helm.cold_protection)
- parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
- parent.helm.heat_protection = initial(parent.helm.heat_protection)
- parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
- if(manual)
- for (var/armorvar in helm.armor)
- helm.armor[armorvar] = parent.reactive.togglearmor[armorvar]
- if(!sudden)
- if(manual)
- sleep(20)
- user << "Helmet unlocked."
- helm.flags &= ~NODROP
- parent.helm = null
- helm.parent = null
-
-
-
-/obj/item/powerarmor/atmoseal/optional/adminbus
- name = "Adminbus togglable power armor atmospheric seals"
- desc = "Made with the rare Badminium molecule."
- slowdown = 0
-
-
-
diff --git a/code/unused/scrap.dm b/code/unused/scrap.dm
deleted file mode 100644
index bd3dad3dba5..00000000000
--- a/code/unused/scrap.dm
+++ /dev/null
@@ -1,289 +0,0 @@
-// The scrap item
-// a single object type represents all combinations of size and composition of scrap
-//
-
-
-/obj/item/scrap
- name = "scrap"
- icon = 'scrap.dmi'
- icon_state = "1metal0"
- item_state = "scrap-metal"
- desc = "A piece of scrap"
- var/classtext = ""
- throwforce = 14.0
- m_amt = 0
- g_amt = 0
- w_amt = 0
- var/size = 1 // 1=piece, 2= few pieces, 3=small pile, 4=large pile
- var/blood = 0 // 0=none, 1=blood-stained, 2=bloody
-
- throwforce = 8.0
- throw_speed = 1
- throw_range = 4
- w_class = 1
- flags = FPRINT | TABLEPASS | CONDUCT
-
-#define MAX_SCRAP 15000 // maximum content amount of a scrap pile
-
-
-/obj/item/scrap/New()
- src.verbs -= /atom/movable/verb/pull
- ..()
- update()
-
-// return a copy
-/obj/item/scrap/proc/copy()
- var/obj/item/scrap/ret = new()
- ret.set_components(m_amt, g_amt, w_amt)
- return ret
-
-
-// set the metal, glass and waste content
-/obj/item/scrap/proc/set_components(var/m, var/g, var/w)
- m_amt = m
- g_amt = g
- w_amt = w
- update()
-
-// returns the total amount of scrap in this pile
-/obj/item/scrap/proc/total()
- return m_amt + g_amt + w_amt
-
-
-// sets the size, appearance, and description of the scrap depending on component amounts
-/obj/item/scrap/proc/update()
- var/total = total()
-
-
- // determine size of pile
- if(total<=400)
- size = 1
- else if(total<=1600)
- size = 2
- else
- size = 3
-
- w_class = size
-
- var/sizetext = ""
-
- switch(size)
- if(1)
- sizetext = "A piece of"
- if(2)
- sizetext = "A few pieces of"
- if(3)
- sizetext = "A pile of"
-
- // determine bloodiness
- var/bloodtext = ""
- switch(blood)
- if(0)
- bloodtext = ""
- if(1)
- bloodtext = "blood-stained "
- if(2)
- bloodtext = "bloody "
-
-
- // find mixture and composition
- var/class = 0 // 0 = mixed, 1=mostly. 2=pure
- var/major = "waste" // the major component type
-
- var/max = 0
-
- if(m_amt > max)
- max = m_amt
- else if(g_amt > max)
- max = g_amt
- else if(w_amt > max)
- max = w_amt
-
- if(max == total)
- class = 2 // pure
- else if(max/total > 0.6)
- class = 1 // mostly
- else
- class = 0 // mixed
-
- if(class>0)
- var/remain = total - max
- if(m_amt > remain)
- major = "metal"
- else if(g_amt > remain)
- major = "glass"
- else
- major = "waste"
-
-
- if(class == 1)
- desc = "[sizetext] mostly [major] [bloodtext]scrap."
- classtext = "mostly [major] [bloodtext]"
- else
- desc = "[sizetext] [bloodtext][major] scrap."
- classtext = "[bloodtext][major] "
- icon_state = "[size][major][blood]"
- else
- desc = "[sizetext] [bloodtext]mixed scrap."
- classtext = "[bloodtext]mixed"
- icon_state = "[size]mixed[blood]"
-
- if(size==0)
- pixel_x = rand(-5,5)
- pixel_y = rand(-5,5)
- else
- pixel_x = 0
- pixel_y = 0
-
- // clear or set conduction flag depending on whether scrap is mostly metal
- if(major=="metal")
- flags |= CONDUCT
- else
- flags &= ~CONDUCT
-
- item_state = "scrap-[major]"
-
-// add a scrap item to this one
-// if the resulting pile is too big, transfer only what will fit
-// otherwise add them and deleted the added pile
-
-/obj/item/scrap/proc/add_scrap(var/obj/item/scrap/other, var/limit = MAX_SCRAP)
- var/total = total()
- var/other_total = other.total()
-
- if( (total + other_total) <= limit )
- m_amt += other.m_amt
- g_amt += other.g_amt
- w_amt += other.w_amt
-
- blood = (total*blood + other_total*other.blood) / (total + other_total)
- del(other)
-
- else
- var/space = limit - total
-
- var/m = round(other.m_amt/other_total*space, 1)
- var/g = round(other.g_amt/other_total*space, 1)
- var/w = round(other.w_amt/other_total*space, 1)
-
- m_amt += m
- g_amt += g
- w_amt += w
-
- other.m_amt -= m
- other.g_amt -= g
- other.w_amt -= w
-
- var/other_trans = m + g + w
- other.update()
- blood = (total*blood + other_trans*other.blood) / (total + other_trans)
-
-
- blood = round(blood,1)
- src.update()
-
-// limit this pile to maximum size
-// return any remainder as a new scrap item (or null if none)
-// note return item is not necessarily smaller than max size
-
-/obj/item/scrap/proc/remainder(var/limit = MAX_SCRAP)
- var/total = total()
- if(total > limit)
- var/m = round( m_amt/total * limit, 1)
- var/g = round( g_amt/total * limit, 1)
- var/w = round( w_amt/total * limit, 1)
-
- var/obj/item/scrap/S = new()
- S.set_components(m_amt - m,g_amt - g,w_amt - w)
- src.set_components(m,g,w)
-
- return S
- return null
-
-// if other pile of scrap tries to enter the same turf, then add that pile to this one
-
-/obj/item/scrap/CanPass(var/obj/item/scrap/O)
-
- if(istype(O))
-
- src.add_scrap(O)
- if(O)
- return 0 // O still exists if not all could be transfered, so block it
- return 1
-
-/obj/item/scrap/proc/to_text()
- return "[m_amt],[g_amt],[w_amt] ([total()])"
-
-
-// attack with hand removes a single piece from a pile
-/obj/item/scrap/attack_hand(mob/user)
- add_fingerprint(user)
- if(src.is_single_piece())
- return ..(user)
- var/obj/item/scrap/S = src.get_single_piece()
- S.attack_hand(user)
- return
-
-
-/obj/item/scrap/attackby(obj/item/I, mob/user)
- ..()
- if(istype(I, /obj/item/scrap))
- var/obj/item/scrap/S = I
- if( (S.total()+src.total() ) > MAX_SCRAP )
- user << "The pile is full."
- return
- if(ismob(src.loc)) // can't combine scrap in hand
- return
-
- src.add_scrap(S)
-
-// when dropped, try to make a pile if scrap is already there
-/obj/item/scrap/dropped()
-
- spawn(2) // delay to allow drop postprocessing (since src may be destroyed)
- for(var/obj/item/scrap/S in oview(0,src)) // excludes src itself
- S.add_scrap(src)
-
-// return true if this is a single piece of scrap
-// must be total<=400 and of single composition
-/obj/item/scrap/proc/is_single_piece()
- if(total() > 400)
- return 0
-
- var/empty = (m_amt == 0) + (g_amt == 0) + (w_amt == 0)
-
- return (empty==2) // must be 2 components with zero amount
-
-
-// get a single piece of scrap from a pile
-/obj/item/scrap/proc/get_single_piece()
-
- var/obj/item/scrap/S = new()
-
- var/cmp = pick(m_amt;1 , g_amt;2, w_amt;3)
-
- var/amount = 400
- switch(cmp)
- if(1)
- if(m_amt < amount)
- amount = m_amt
-
- S.set_components(amount, 0, 0)
- src.set_components(m_amt - amount, g_amt, w_amt)
-
- if(2)
- if(g_amt < amount)
- amount = g_amt
- S.set_components(0, amount, 0)
- src.set_components(m_amt, g_amt - amount, w_amt)
-
- if(3)
- if(w_amt < amount)
- amount = w_amt
- S.set_components(0, 0, amount)
- src.set_components(m_amt, g_amt, w_amt - amount)
-
-
- return S
-
-
diff --git a/code/unused/shuttle_engines.dm b/code/unused/shuttle_engines.dm
deleted file mode 100644
index 457154db0f2..00000000000
--- a/code/unused/shuttle_engines.dm
+++ /dev/null
@@ -1,37 +0,0 @@
-
-/obj/structure/shuttle
- name = "shuttle"
- icon = 'icons/turf/shuttle.dmi'
-
-/obj/structure/shuttle/engine
- name = "engine"
- density = 1
- anchored = 1.0
-
-/obj/structure/shuttle/engine/heater
- name = "heater"
- icon_state = "heater"
-
-/obj/structure/shuttle/engine/platform
- name = "platform"
- icon_state = "platform"
-
-/obj/structure/shuttle/engine/propulsion
- name = "propulsion"
- icon_state = "propulsion"
- opacity = 1
-
-/obj/structure/shuttle/engine/propulsion/burst
- name = "burst"
-
-/obj/structure/shuttle/engine/propulsion/burst/left
- name = "left"
- icon_state = "burst_l"
-
-/obj/structure/shuttle/engine/propulsion/burst/right
- name = "right"
- icon_state = "burst_r"
-
-/obj/structure/shuttle/engine/router
- name = "router"
- icon_state = "router"
diff --git a/code/unused/siphs.dm b/code/unused/siphs.dm
deleted file mode 100644
index 6104b3bc2d6..00000000000
--- a/code/unused/siphs.dm
+++ /dev/null
@@ -1,515 +0,0 @@
-/obj/machinery/atmoalter/siphs/New()
- ..()
- src.gas = new /datum/gas_mixture()
-
- return
-
-/obj/machinery/atmoalter/siphs/proc/releaseall()
- src.t_status = 1
- src.t_per = max_valve
- return
-
-/obj/machinery/atmoalter/siphs/proc/reset(valve, auto)
- if(c_status!=0)
- return
-
- if (valve < 0)
- src.t_per = -valve
- src.t_status = 1
- else
- if (valve > 0)
- src.t_per = valve
- src.t_status = 2
- else
- src.t_status = 3
- if (auto)
- src.t_status = 4
- src.setstate()
- return
-
-/obj/machinery/atmoalter/siphs/proc/release(amount, flag)
- /*
- var/T = src.loc
- if (!( istype(T, /turf) ))
- return
- if (locate(/obj/move, T))
- T = locate(/obj/move, T)
- if (!( amount ))
- return
- if (!( flag ))
- amount = min(amount, max_valve)
- src.gas.turf_add(T, amount)
- return
- */ //TODO: FIX
-
-/obj/machinery/atmoalter/siphs/proc/siphon(amount, flag)
- /*
- var/T = src.loc
- if (!( istype(T, /turf) ))
- return
- if (locate(/obj/move, T))
- T = locate(/obj/move, T)
- if (!( amount ))
- return
- if (!( flag ))
- amount = min(amount, 900000.0)
- src.gas.turf_take(T, amount)
- return
- */ //TODO: FIX
-
-/obj/machinery/atmoalter/siphs/proc/setstate()
-
- if(stat & NOPOWER)
- icon_state = "siphon:0"
- return
-
- if (src.holding)
- src.icon_state = "siphon:T"
- else
- if (src.t_status != 3)
- src.icon_state = "siphon:1"
- else
- src.icon_state = "siphon:0"
- return
-
-/obj/machinery/atmoalter/siphs/fullairsiphon/New()
- /*
- ..()
- if(!empty)
- src.gas.oxygen = 2.73E7
- src.gas.n2 = 1.027E8
- return
- */ //TODO: FIX
-
-/obj/machinery/atmoalter/siphs/fullairsiphon/port/reset(valve, auto)
-
- if (valve < 0)
- src.t_per = -valve
- src.t_status = 1
- else
- if (valve > 0)
- src.t_per = valve
- src.t_status = 2
- else
- src.t_status = 3
- if (auto)
- src.t_status = 4
- src.setstate()
- return
-
-/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/attackby(W as obj, user as mob)
-
- if (istype(W, /obj/item/weapon/screwdriver))
- if (src.c_status)
- src.anchored = 1
- src.c_status = 0
- else
- if (locate(/obj/machinery/connector, src.loc))
- src.anchored = 1
- src.c_status = 3
- else
- if (istype(W, /obj/item/weapon/wrench))
- src.alterable = !( src.alterable )
- return
-
-/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/setstate()
-
-
- if(stat & NOPOWER)
- icon_state = "vent-p"
- return
-
- if (src.t_status == 4)
- src.icon_state = "vent2"
- else
- if (src.t_status == 3)
- src.icon_state = "vent0"
- else
- src.icon_state = "vent1"
- return
-
-/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/reset(valve, auto)
-
- if (auto)
- src.t_status = 4
- return
-
-/obj/machinery/atmoalter/siphs/scrubbers/process()
- /*
- if(stat & NOPOWER) return
-
- if(src.gas.temperature >= 3000)
- src.melt()
-
- if (src.t_status != 3)
- var/turf/T = src.loc
- if (istype(T, /turf))
- if (locate(/obj/move, T))
- T = locate(/obj/move, T)
- if (T.firelevel < 900000.0)
- src.gas.turf_add_all_oxy(T)
-
- else
- T = null
- switch(src.t_status)
- if(1.0)
- if( !portable() ) use_power(50, ENVIRON)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.holding.gas.transfer_from(src.gas, t)
- else
- if (T)
- var/t1 = src.gas.total_moles()
- var/t2 = t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.gas.turf_add(T, t)
- if(2.0)
- if( !portable() ) use_power(50, ENVIRON)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = src.maximum - t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.gas.transfer_from(src.holding.gas, t)
- else
- if (T)
- var/t1 = src.gas.total_moles()
- var/t2 = src.maximum - t1
- var/t = src.t_per
- if (t > t2)
- t = t2
- src.gas.turf_take(T, t)
- if(4.0)
- if( !portable() ) use_power(50, ENVIRON)
- if (T)
- if (T.firelevel > 900000.0)
- src.f_time = world.time + 400
- else
- if (world.time > src.f_time)
- src.gas.extract_toxs(T)
- if( !portable() ) use_power(150, ENVIRON)
- var/contain = src.gas.total_moles()
- if (contain > 1.3E8)
- src.gas.turf_add(T, 1.3E8 - contain)
-
- src.setstate()
- src.updateDialog()
- return
- */ //TODO: FIX
-
-/obj/machinery/atmoalter/siphs/scrubbers/air_filter/setstate()
-
- if(stat & NOPOWER)
- icon_state = "vent-p"
- return
-
- if (src.t_status == 4)
- src.icon_state = "vent2"
- else
- if (src.t_status == 3)
- src.icon_state = "vent0"
- else
- src.icon_state = "vent1"
- return
-
-/obj/machinery/atmoalter/siphs/scrubbers/air_filter/attackby(W as obj, user as mob)
-
- if (istype(W, /obj/item/weapon/screwdriver))
- if (src.c_status)
- src.anchored = 1
- src.c_status = 0
- else
- if (locate(/obj/machinery/connector, src.loc))
- src.anchored = 1
- src.c_status = 3
- else
- if (istype(W, /obj/item/weapon/wrench))
- src.alterable = !( src.alterable )
- return
-
-/obj/machinery/atmoalter/siphs/scrubbers/air_filter/reset(valve, auto)
-
- if (auto)
- src.t_status = 4
- src.setstate()
- return
-
-/obj/machinery/atmoalter/siphs/scrubbers/port/setstate()
-
- if(stat & NOPOWER)
- icon_state = "scrubber:0"
- return
-
- if (src.holding)
- src.icon_state = "scrubber:T"
- else
- if (src.t_status != 3)
- src.icon_state = "scrubber:1"
- else
- src.icon_state = "scrubber:0"
- return
-
-/obj/machinery/atmoalter/siphs/scrubbers/port/reset(valve, auto)
-
- if (valve < 0)
- src.t_per = -valve
- src.t_status = 1
- else
- if (valve > 0)
- src.t_per = valve
- src.t_status = 2
- else
- src.t_status = 3
- if (auto)
- src.t_status = 4
- src.setstate()
- return
-
-//true if the siphon is portable (therfore no power needed)
-
-/obj/machinery/proc/portable()
- return istype(src, /obj/machinery/atmoalter/siphs/fullairsiphon/port) || istype(src, /obj/machinery/atmoalter/siphs/scrubbers/port)
-
-/obj/machinery/atmoalter/siphs/power_change()
-
- if( portable() )
- return
-
- if(!powered(ENVIRON))
- spawn(rand(0,15))
- stat |= NOPOWER
- setstate()
- else
- stat &= ~NOPOWER
- setstate()
-
-
-/obj/machinery/atmoalter/siphs/process()
- /*
-// var/dbg = (suffix=="d") && Debug
-
- if(stat & NOPOWER) return
-
- if (src.t_status != 3)
- var/turf/T = src.loc
- if (istype(T, /turf))
- if (locate(/obj/move, T))
- T = locate(/obj/move, T)
- else
- T = null
- switch(src.t_status)
- if(1.0)
- if( !portable() ) use_power(50, ENVIRON)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.holding.gas.transfer_from(src.gas, t)
- else
- if (T)
- var/t1 = src.gas.total_moles()
- var/t2 = t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.gas.turf_add(T, t)
- if(2.0)
- if( !portable() ) use_power(50, ENVIRON)
- if (src.holding)
- var/t1 = src.gas.total_moles()
- var/t2 = src.maximum - t1
- var/t = src.t_per
- if (src.t_per > t2)
- t = t2
- src.gas.transfer_from(src.holding.gas, t)
- else
- if (T)
- var/t1 = src.gas.total_moles()
- var/t2 = src.maximum - t1
- var/t = src.t_per
- if (t > t2)
- t = t2
- //var/g = gas.total_moles()
- //if(dbg) world.log << "VP0 : [t] from turf: [gas.total_moles()]"
- //if(dbg) Air()
-
- src.gas.turf_take(T, t)
- //if(dbg) world.log << "VP1 : now [gas.total_moles()]"
-
- //if(dbg) world.log << "[gas.total_moles()-g] ([t]) from turf to siph"
-
- //if(dbg) Air()
- if(4.0)
- if( !portable() )
- use_power(50, ENVIRON)
-
- if (T)
- if (T.firelevel > 900000.0)
- src.f_time = world.time + 300
- else
- if (world.time > src.f_time)
- var/difference = CELLSTANDARD - (T.oxygen + T.n2)
- if (difference > 0)
- var/t1 = src.gas.total_moles()
- if (difference > t1)
- difference = t1
- src.gas.turf_add(T, difference)
-
- src.updateDialog()
-
- src.setstate()
- return
- */ //TODO: FIX
-
-/obj/machinery/atmoalter/siphs/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/atmoalter/siphs/attack_paw(user as mob)
-
- return src.attack_hand(user)
- return
-
-/obj/machinery/atmoalter/siphs/attack_hand(var/mob/user as mob)
-
- if(stat & NOPOWER) return
-
- if(src.portable() && istype(user, /mob/living/silicon/ai)) //AI can't use portable siphons
- return
-
- user.machine = src
- var/tt
- switch(src.t_status)
- if(1.0)
- tt = text("Releasing Siphon Stop", src, src)
- if(2.0)
- tt = text("Release Siphoning Stop", src, src)
- if(3.0)
- tt = text("Release Siphon Stopped Automatic", src, src, src)
- else
- tt = "Automatic equalizers are on!"
- var/ct = null
- switch(src.c_status)
- if(1.0)
- ct = text("Releasing Accept Stop", src, src)
- if(2.0)
- ct = text("Release Accepting Stop", src, src)
- if(3.0)
- ct = text("Release Accept Stopped", src, src)
- else
- ct = "Disconnected"
- var/at = null
- if (src.t_status == 4)
- at = text("Automatic On Stop", src)
- var/dat = text("Canister Valves []
\n\tContains/Capacity [] / []
\n\tUpper Valve Status: [] []
\n\t\tM - - - - [] + + + + M
\n\tPipe Valve Status: []
\n\t\tM - - - - [] + + + + M
\n
\n\nClose
\n\t", (!( src.alterable ) ? "Valves are locked. Unlock with wrench!" : "You can lock this interface with a wrench."), num2text(src.gas.return_pressure(), 10), num2text(src.maximum, 10), (src.t_status == 4 ? text("[]", at) : text("[]", tt)), (src.holding ? text("
(Tank ([])", src, src.holding.air_contents.return_pressure()) : null), src, num2text(max_valve, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(max_valve, 7), ct, src, num2text(max_valve, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(max_valve, 7), user)
- user << browse(dat, "window=siphon;size=600x300")
- onclose(user, "siphon")
- return
-
-/obj/machinery/atmoalter/siphs/Topic(href, href_list)
- ..()
-
- if (usr.stat || usr.restrained())
- return
- if ((!( src.alterable )) && (!istype(usr, /mob/living/silicon/ai)))
- return
- if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai)))
- usr.machine = src
- if (href_list["c"])
- var/c = text2num(href_list["c"])
- switch(c)
- if(1.0)
- src.c_status = 1
- if(2.0)
- src.c_status = 2
- if(3.0)
- src.c_status = 3
- else
- else
- if (href_list["t"])
- var/t = text2num(href_list["t"])
- if (src.t_status == 0)
- return
- switch(t)
- if(1.0)
- src.t_status = 1
- if(2.0)
- src.t_status = 2
- if(3.0)
- src.t_status = 3
- if(4.0)
- src.t_status = 4
- src.f_time = 1
- else
- else
- if (href_list["tp"])
- var/tp = text2num(href_list["tp"])
- src.t_per += tp
- src.t_per = min(max(round(src.t_per), 0), max_valve)
- else
- if (href_list["cp"])
- var/cp = text2num(href_list["cp"])
- src.c_per += cp
- src.c_per = min(max(round(src.c_per), 0), max_valve)
- else
- if (href_list["tank"])
- var/cp = text2num(href_list["tank"])
- if (cp == 1)
- src.holding.loc = src.loc
- src.holding = null
- if (src.t_status == 2)
- src.t_status = 3
- src.updateUsrDialog()
-
- src.add_fingerprint(usr)
- else
- usr << browse(null, "window=canister")
- return
- return
-
-/obj/machinery/atmoalter/siphs/attackby(var/obj/W as obj, mob/user as mob)
-
- if (istype(W, /obj/item/weapon/tank))
- if (src.holding)
- return
- var/obj/item/weapon/tank/T = W
- user.drop_item()
- T.loc = src
- src.holding = T
- else
- if (istype(W, /obj/item/weapon/screwdriver))
- var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc)
- if (src.c_status)
- src.anchored = 0
- src.c_status = 0
- user.show_message("\blue You have disconnected the siphon.")
- if(con)
- con.connected = null
- else
- if (con && !con.connected)
- src.anchored = 1
- src.c_status = 3
- user.show_message("\blue You have connected the siphon.")
- con.connected = src
- else
- user.show_message("\blue There is nothing here to connect to the siphon.")
-
-
- else
- if (istype(W, /obj/item/weapon/wrench))
- src.alterable = !( src.alterable )
- if (src.alterable)
- user << "\blue You unlock the interface!"
- else
- user << "\blue You lock the interface!"
- return
-
-
diff --git a/code/unused/spacecraft/manufacturing.dm b/code/unused/spacecraft/manufacturing.dm
deleted file mode 100644
index 9036407ac5e..00000000000
--- a/code/unused/spacecraft/manufacturing.dm
+++ /dev/null
@@ -1,247 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
-
-// Entirely unfinished. Mostly just bouncing ideas off the code.
-
-
-// Smelting
-// Grinding
-// Spraying
-// Crate
-
-/obj/deploycrate
- icon = 'icons/obj/mining.dmi'
- icon_state = "deploycrate"
- density = 1
- var/payload
-
-/obj/deploycrate/attack_hand(mob/user as mob)
- switch(payload)
- if(null)
- return
- //if("cloner")
- // make a cloner
- // blah blah
- for (var/mob/V in hearers(src))
- V.show_message("[src] lets out a pneumatic hiss, its panels rapdily unfolding and expanding to produce its payload.", 2)
- del(src)
-
-
-/obj/machinery/nanosprayer
- icon = 'icons/obj/mining.dmi'
- icon_state = "sprayer"
- density = 1
- anchored = 1
- var/payload
- var/hacked = 0
- var/temp = 100
-
- var/usr_density = 5
- var/usr_lastupdate = 0
-
- var/time_started = 0
-
- var/points = 0
- var/totalpoints = 0
-
- var/state = 0 // 0 - Idle, 1 - Spraying, 2 - Done, 3 - Overheated
-
-obj/machinery/nanosprayer/proc/update_temp()
- // 1 second : 1 degree
- if(src.state == 0)
- var/diff = (world.time - usr_lastupdate) * 10
- temp -= diff
- if(temp < 100)
- temp = 100
- usr_lastupdate = world.time
- return temp
- else if(src.state == 1)
- var/diff = (world.time - usr_lastupdate) * 10
- diff = diff * usr_density
- temp += diff
- usr_lastupdate = world.time
- return temp
-
-obj/machinery/nanosprayer/process()
- src.time_started = world.time
- totalpoints = lentext(payload) * rand(5,10)
- if(!totalpoints)
- totalpoints = 1
- while(src.state == 1)
- // Each unit of cost is 20 seconds - density
- temp += density * rand(1,4)
- sleep(200 - (usr_density * 10))
- if(src.temp > 350)
- src.state = 3
- src.overheat()
- return 0
- points += usr_density
- if(points >= totalpoints)
- src.state = 2
- src.complete()
- return 1
-
-
-obj/machinery/nanosprayer/proc/cooldown()
- while(state != 1)
- sleep(200)
- temp -= rand(5,20)
- if(temp < 100)
- temp = 100
- return
-
-obj/machinery/nanosprayer/proc/overheat()
- return
-
-obj/machinery/nanosprayer/proc/complete()
- src.totalpoints = 0
- src.points = 0
- spawn() cooldown()
- return
-
-obj/machinery/nanosprayer/attack_hand(user as mob)
- var/dat
- if(..())
- return
- dat += text("Core Temp: [temp]�C
")
- dat += text("Nanocloud Density: [usr_density] million
")
- dat += text("\[- / +\]
")
- if(payload)
- dat += text("
Task: [payload]
")
- switch(state)
- if(0)
- dat += text("Status: Idling
")
- if(1)
- dat += text("Status: Spraying
")
- if(2)
- dat += text("Status: Spray Task Complete
")
- if(3)
- dat += text("Status: OVERHEATED
")
- if(state == 1)
- if(points <= 0)
- points = 1
- var/complete = (points * 100)/totalpoints
- if(complete < 0)
- complete = 0
- if(complete > 100)
- complete = 100
- dat += text("Progress: [complete]%
")
- if(state == 2)
- dat += text("Progress: 100%
")
- dat += text("\[Release Payload\]
")
- dat += text("
Set Task
")
- dat += text("Start Spray
")
- dat += text("Cancel Spray")
- dat += text("
Refresh")
- user << browse("NANO SPRAY 1.1[dat]", "window=nanosprayer")
- onclose(user, "nanosprayer")
-
-obj/machinery/nanosprayer/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["plus"])
- usr_density += 1
- if(href_list["minus"])
- usr_density -= 1
- if(usr_density < 1)
- usr_density = 1
- if(href_list["start"])
- if(state == 0)
- state = 1
- spawn() src.process()
- if(href_list["stop"])
- if(state == 1)
- state = 0
- points = 0
- totalpoints = 0
- spawn() cooldown()
- if(href_list["settask"])
- if(state == 0)
- var/temppayload = input("Set a Task:", "Job Assignment") as text|null
- if(temppayload)
- payload = temppayload
- //if(href_list["release"])
- // if(state == 2)
- // Create the crate somewhere
- src.updateUsrDialog()
-
-/obj/machinery/smelter
- icon = 'icons/obj/mining.dmi'
- icon_state = "sprayer"
- density = 1
- anchored = 1
- var/locked = 0
- var/closed = 0
- var/state = 0 // 0 - Idle, 1 - Smelt, 2 - Cool, 3 - Clean
- var/slag = 0
- var/hacked = 0
-
-obj/machinery/smelter/attack_hand(user as mob)
- var/dat
- if(..())
- return
- dat += text("Smelt-o-Matic Control Interface
")
- dat += text("The red light is [src.closed ? "off" : "on"].
")
- dat += text("The green light is [src.locked ? "on" : "off"].
")
- switch(slag)
- if(0)
- dat += text("The meter is resting at zero.
")
- if(1 to 2)
- dat += text("The meter is wobbling at the mid-point marker.
")
- if(3)
- dat += text("The meter strains, displaying its maximum value.
")
- else
- dat += text("The meter has broken.
")
- switch(state)
- if(0)
- dat += text("Status:Idle
")
- if(1)
- dat += text("Status:Smelting
")
- if(2)
- dat += text("Status:Cooling
")
- if(3)
- dat += text("Status:Cleaning
")
- dat += text("
Turn key [src.locked ? "to upper-left position" : "to upper-right position"]
")
- dat += text("Flip switch [src.closed ? "up" : "down"]
")
- dat += text("Push large flashing yellow button
")
- user << browse("SMELTOMATIC[dat]", "window=smelter")
- onclose(user, "smelter")
-
-
-obj/machinery/smelter/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["key"])
- src.locked = !src.locked
- if(href_list["switch"])
- src.closed = !src.closed
- if(href_list["button"])
- //Do stuff to actually smelt shit or something I don't know
- return
- src.updateUsrDialog()
-
-
-/obj/machinery/slaggrinder
- icon = 'icons/obj/mining.dmi'
-
- density = 1
- anchored = 1
-
-
-
-/obj/machinery/adminmachine
- icon = 'icons/obj/mining.dmi'
- icon_state = "sprayer"
- density = 1
- anchored = 1
-
- var/gameticker
- var/gameworld
-
- New()
- ..()
- gameticker = ticker
- gameworld = world
diff --git a/code/unused/spacecraft/shipcore.dm b/code/unused/spacecraft/shipcore.dm
deleted file mode 100644
index ee6a843d399..00000000000
--- a/code/unused/spacecraft/shipcore.dm
+++ /dev/null
@@ -1,348 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
-
-/obj/machinery/shipcore
- icon = 'craft.dmi'
- icon_state = "core"
- density = 1
-
- var/width = 6
- var/height = 8
- var/list/turfs = list()
- var/list/builders
- var/list/components = list()
- var/build_status = "unbuilt"
-
-
- proc/group_self()
- builders = list()
- turfs = list()
- components = list()
-
- src.anchored = 1
-
- var/obj/ship_builder/L = new(locate(src.x, src.y, src.z))
- L.dir = WEST
- L.distance = width/2
- L.core = src
-
- var/obj/ship_builder/R = new(locate(src.x+1, src.y, src.z))
- R.dir = EAST
- R.distance = (width/2)-1
- R.core = src
-
- builders.Add(L, R)
-
- spawn() L.scan()
- spawn() R.scan()
-
- var/h
- for(h=1, h"
- var/wire
- for(wire in src.wires)
- dat += text("[wire] Wire: [src.wires[wire] ? "Mend" : "Cut"] Pulse
")
-
- dat += text("The red light is [src.disabled ? "off" : "on"].
")
- dat += text("The green light is [src.shocked ? "off" : "on"].
")
- dat += text("The blue light is [src.hacked ? "off" : "on"].
")
-*/
- switch(src.build_status)
- if("unbuilt")
- dat += "Core Status: Undeployed
"
- dat += "Build Ship
"
- if("built")
- dat += "Core Status: Deployed
"
- dat += "Move
"
- if("rebuilding")
- dat += "Core Status: Recalibrating
"
- user << browse("Ship Core[dat]","window=shipcore")
- onclose(user, "shipcore")
- return
- user << browse("Ship Core Control Panel[dat]", "window=shipcore")
- onclose(user, "shipcore")
- return
-
-obj/machinery/shipcore/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
- if(href_list["groupself"])
- src.group_self()
- if (href_list["move"])
- var/list/beacons = list()
- for(var/obj/effect/ship_landing_beacon/b in world)
- if(istype(b, /obj/effect/ship_landing_beacon))
- if(b.active)
- beacons.Add(b)
- if(!beacons.len)
- return
- var/obj/choice = input("Choose a beacon to land at.", "Beacon Selection") in beacons
- if(choice)
- src.MoveShip(choice.loc)
-
- for(var/mob/M in viewers(1, src))
- if ((M.client && M.machine == src))
- src.attack_hand(M)
- src.updateUsrDialog()
- return
-
-
-
-obj/machinery/ship_component
- name = "ship component"
- icon = 'craft.dmi'
- var/obj/machinery/shipcore/core
- var/required_draw = 0
- var/active = 1
-
- proc
- draw_power(var/n as num)
- if(!n)
- n = required_draw
- if(core.draw_power(n))
- return 1
- else
- return 0
-
-obj/machinery/ship_component/thruster
- name = "thruster"
- icon_state = "thruster"
- density = 1
- opacity = 1
-
- var/cooldown = 600 // In 1/10th seconds
- var/lastused
- var/ready = 0
- required_draw = 100
-
- proc
- check_ready()
- if(ready)
- return 1
- if(lastused + cooldown <= world.time)
- for(var/turf/T in range(1,src))
- if(istype(T, /turf/space))
- src.ready = 1
- break
- else
- src.ready = 0
- return src.ready
-
- fire()
- src.check_ready()
- if(!ready)
- return 0
- if(src.draw_power())
- src.ready = 0
- src.lastused = world.time
- return 1
- else
- return 0
-
-obj/machinery/ship_component/engine
- name = "engine"
- icon_state = "engine"
- density = 1
- opacity = 1
-
- var/charge = 1000
- var/capacity = 1000
-
- draw_power(var/n as num)
- if(charge >= n)
- charge -= n
- return 1
- else
- return 0
-
-obj/machinery/ship_component/control_panel
- name = "control panel"
- icon_state = "controlpanel"
- density = 1
- opacity = 0
-
- attack_hand(user as mob)
- var/dat
- if(..())
- return
- if(!src.core)
- dat += "No linked core found. Deploy ship core first."
- else
- dat += "Ship Status: [src.core.build_status]
"
- dat += "Installed Components:
"
- dat += ""
- for(var/obj/machinery/ship_component/C in core.components)
- dat += "| [C.name] | [C.active ? "Active" : "Inactive"] |
"
- if(istype(C, /obj/machinery/ship_component/engine))
- dat += " | Fuel: [C:charge]/[C:capacity] |
"
- if(istype(C, /obj/machinery/ship_component/thruster))
- dat += " | Status: [C:check_ready() ? "Ready" : "On Cooldown"] |
"
- dat += "
"
- user << browse("Ship Controls[dat]","window=shipcontrols")
- onclose(user, "shipcontrols")
-
- Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
-
-
-
-
-
-
-
-
-/obj/ship_builder
- icon = 'craft.dmi'
- icon_state = "builder"
- density = 0
- opacity = 0
-
- var/obj/machinery/shipcore/core
- var/distance = 0
-
- proc/scan()
- if(distance < 0)
- cleanup_self()
- var/i
- for(i=0, iworld.maxx-4 || T.x<4) continue //putting them at the edge is dumb
- if(T.y>world.maxy-4 || T.y<4) continue
- turfs += T
- if(!turfs.len) turfs += pick(/turf in orange(6))
- var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
- smoke.set_up(10, 0, usr.loc)
- smoke.start()
- var/turf/picked = pick(turfs)
- if(!isturf(picked)) return
- usr.loc = picked
- usr.verbs -= /client/proc/blink
- spawn(40)
- usr.verbs += /client/proc/blink
-
-//TELEPORT
-
-/mob/proc/teleport()
- set category = "Spells"
- set name = "Teleport"
- set desc = "This spell teleports you to a type of area of your selection."
- if(usr.stat)
- src << "Not when you are incapacitated."
- return
- if(!usr.casting()) return
- var/A
- usr.verbs -= /mob/proc/teleport
-/*
- var/list/theareas = new/list()
- for(var/area/AR in world)
- if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station)) continue
- if(theareas.Find(AR.name)) continue
- var/turf/picked = pick(get_area_turfs(AR.type))
- if (picked.z == src.z)
- theareas += AR.name
- theareas[AR.name] = AR
-*/
-
- A = input("Area to jump to", "BOOYEA", A) in teleportlocs
-
- spawn(600)
- usr.verbs += /mob/proc/teleport
-
- var/area/thearea = teleportlocs[A]
-
- usr.say("SCYAR NILA [uppertext(A)]")
-
- var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
- smoke.set_up(5, 0, usr.loc)
- smoke.attach(usr)
- smoke.start()
- var/list/L = list()
- for(var/turf/T in get_area_turfs(thearea.type))
- if(!T.density)
- var/clear = 1
- for(var/obj/O in T)
- if(O.density)
- clear = 0
- break
- if(clear)
- L+=T
-
- if(!L.len)
- usr <<"The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."
- return
-
- var/attempt = 0
- var/success = 0
- while(!success)
- success = Move(pick(L))
- if(attempt > 20) break //Failsafe
- if(!success)
- usr.loc = pick(L)
-
- smoke.start()
-
-
-//JAUNT
-
-/client/proc/jaunt()
- set category = "Spells"
- set name = "Ethereal Jaunt"
- set desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls."
- if(usr.stat)
- src << "Not when you are incapacitated."
- return
- if(!usr.casting()) return
- usr.verbs -= /client/proc/jaunt
- spawn(300)
- usr.verbs += /client/proc/jaunt
- spell_jaunt(usr)
-
-/proc/spell_jaunt(var/mob/H, time = 50)
- if(H.stat) return
- spawn(0)
- var/mobloc = get_turf(H.loc)
- var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc )
- var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc )
- animation.name = "water"
- animation.density = 0
- animation.anchored = 1
- animation.icon = 'icons/mob/mob.dmi'
- animation.icon_state = "liquify"
- animation.layer = 5
- animation.master = holder
- flick("liquify",animation)
- H.loc = holder
- H.client.eye = holder
- var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
- steam.set_up(10, 0, mobloc)
- steam.start()
- sleep(time)
- mobloc = get_turf(H.loc)
- animation.loc = mobloc
- steam.location = mobloc
- steam.start()
- H.canmove = 0
- sleep(20)
- flick("reappear",animation)
- sleep(5)
- if(!H.Move(mobloc))
- for(var/direction in list(1,2,4,8,5,6,9,10))
- var/turf/T = get_step(mobloc, direction)
- if(T)
- if(H.Move(T))
- break
- H.canmove = 1
- H.client.eye = H
- del(animation)
- del(holder)
-/*
-/obj/effect/dummy/spell_jaunt
- name = "water"
- icon = 'icons/effects/effects.dmi'
- icon_state = "nothing"
- var/canmove = 1
- density = 0
- anchored = 1
-
-/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction)
- if (!src.canmove) return
- switch(direction)
- if(NORTH)
- src.y++
- if(SOUTH)
- src.y--
- if(EAST)
- src.x++
- if(WEST)
- src.x--
- if(NORTHEAST)
- src.y++
- src.x++
- if(NORTHWEST)
- src.y++
- src.x--
- if(SOUTHEAST)
- src.y--
- src.x++
- if(SOUTHWEST)
- src.y--
- src.x--
- src.canmove = 0
- spawn(2) src.canmove = 1
-
-/obj/effect/dummy/spell_jaunt/ex_act(blah)
- return
-/obj/effect/dummy/spell_jaunt/bullet_act(blah,blah)
- return
-*/
-//MUTATE
-
-/client/proc/mutate()
- set category = "Spells"
- set name = "Mutate"
- set desc = "This spell causes you to turn into a hulk and gain laser vision for a short while."
- if(usr.stat)
- src << "Not when you are incapacitated."
- return
- if(!usr.casting()) return
- usr.verbs -= /client/proc/mutate
- spawn(400)
- usr.verbs += /client/proc/mutate
-
- usr.say("BIRUZ BENNAR")
-
- usr << text("\blue You feel strong! You feel pressure building behind your eyes!")
- if (!(M_HULK in usr.mutations))
- usr.mutations.Add(M_HULK)
- if (!(M_LASER in usr.mutations))
- usr.mutations.Add(M_LASER)
- spawn (300)
- if (M_LASER in usr.mutations) usr.mutations.Remove(M_LASER)
- if (M_HULK in usr.mutations) usr.mutations.Remove(M_HULK)
- return
-
-//BODY SWAP /N
-
-/mob/proc/swap(mob/living/M as mob in oview())
- set category = "Spells"
- set name = "Mind Transfer"
- set desc = "This spell allows the user to switch bodies with a target."
- if(usr.stat)
- src << "Not when you are incapacitated."
- return
-
- if(M.client && M.mind)
- if(M.mind.special_role != "Wizard" || "Fake Wizard" || "Changeling" || "Cultist" || "Ninja")//Wizards, changelings, ninjas, and cultists are protected.
- if( (istype(M, /mob/living/carbon/human)) || (istype(M, /mob/living/carbon/monkey)) && M.stat != 2)
- var/mob/living/carbon/human/H = M //so it does not freak out when looking at the variables.
- var/mob/living/carbon/human/U = src
-
- U.whisper("GIN'YU CAPAN")
- U.verbs -= /mob/proc/swap
- //Remove special verbs from both mobs
- if(U.mind.special_verbs.len)
- for(var/V in U.mind.special_verbs)
- U.verbs -= V
- if(H.mind.special_verbs.len)
- for(var/V in H.mind.special_verbs)
- H.verbs -= V
-
- //empty out H
- var/mob/dead/observer/G = H.ghostize(0) //Transfers H to a temporary mob
-
- //Start the Transfer
- U.mind.transfer_to(H)
- G.mind.transfer_to(U)
- U.key = G.key //has to be called explicitly since ghostize() set the datum/mind/var/active = 0
-
- //Re-add those special verbs and stuff
- if(H.mind.special_verbs.len)
- var/spell_loss = 1//Can lose only one spell during transfer.
- var/probability = 95 //To determine the chance of wizard losing their spell.
- for(var/V in H.mind.special_verbs)
- if(spell_loss == 0)
- H.verbs += V
- else
- if(prob(probability))
- H.verbs += V
- probability -= 7//Chance of of keeping spells goes down each time a spell is added. Less spells means less chance of losing them.
- else
- spell_loss = 0
- H.mind.special_verbs -= V
- spawn(500)
- H << "The mind transfer has robbed you of a spell."
-
- if(U.mind.special_verbs.len)//Basic fix to swap verbs for any mob if needed.
- for(var/V in U.mind.special_verbs)
- U.verbs += V
-
- spawn(500)
- U << "Something about your body doesn't seem quite right..."
-
- U.Paralyse(20)
- H.Paralyse(20)
-
- spawn(600)
- H.verbs += /mob/proc/swap
-
- else
- src << "Their mind is not compatible."
- return
- else
- src << "Their mind is resisting your spell."
- return
-
- else
- src << "They appear to be brain-dead."
- return
\ No newline at end of file
diff --git a/code/unused/tensioner.dm b/code/unused/tensioner.dm
deleted file mode 100644
index 1cf5eb2acd8..00000000000
--- a/code/unused/tensioner.dm
+++ /dev/null
@@ -1,876 +0,0 @@
-#define PLAYER_WEIGHT 5
-#define HUMAN_DEATH -5000
-#define OTHER_DEATH -5000
-#define EXPLO_SCORE -10000 //boum
-
-#define COOLDOWN_TIME 12000 // Twenty minutes
-#define MIN_ROUND_TIME 18000
-
-
-#define FLAT_PERCENT 0
-
-//estimated stats
-//80 minute round
-//60 player server
-//48k player-ticks
-
-//60 deaths (ideally)
-//20 explosions
-
-
-var/global/datum/tension/tension_master
-
-/datum/tension
- var/score
-
- var/deaths
- var/human_deaths
- var/explosions
- var/adminhelps
- var/air_alarms
-
- var/nuketeam = 0
- var/malfAI = 0
- var/wizard = 0
-
- var/forcenexttick = 0
- var/supress = 0
- var/eversupressed = 0
- var/cooldown = 0
-
- var/round1 = 0
- var/round2 = 0
- var/round3 = 0
- var/round4 = 0
-
- var/list/antagonistmodes = null
-
-
-
- var/list/potentialgames = list()
-
- New()
- score = 0
- deaths=0
- human_deaths=0
- explosions=0
- adminhelps=0
- air_alarms=0
-
- if(FLAT_PERCENT) // I cannot into balance
- antagonistmodes = list (
- "POINTS_FOR_TRATIOR" = 6,
- "POINTS_FOR_CHANGLING" = 6,
- "POINTS_FOR_REVS" = 3,
- "POINTS_FOR_MALF" = 1,
- "POINTS_FOR_WIZARD" = 2,
- "POINTS_FOR_CULT" = 3,
- "POINTS_FOR_NUKETEAM" = 2,
- "POINTS_FOR_ALIEN" = 5,
- "POINTS_FOR_NINJA" = 3,
- "POINTS_FOR_DEATHSQUAD" = 2,
- "POINTS_FOR_BORGDEATHSQUAD" = 2
- )
-
- else
- antagonistmodes = list (
- "POINTS_FOR_TRATIOR" = 100000,
- "POINTS_FOR_CHANGLING" = 120000,
- "POINTS_FOR_REVS" = 150000,
- "POINTS_FOR_MALF" = 250000,
- "POINTS_FOR_WIZARD" = 150000,
- "POINTS_FOR_CULT" = 150000,
- "POINTS_FOR_NUKETEAM" = 250000,
- "POINTS_FOR_ALIEN" = 200000,
- "POINTS_FOR_NINJA" = 200000,
- "POINTS_FOR_DEATHSQUAD" = 500000,
- "POINTS_FOR_BORGDEATHSQUAD" = 500000
- )
-
- proc/process()
- score += get_num_players()*PLAYER_WEIGHT
-
- if(config.Tensioner_Active)
- if(world.time > MIN_ROUND_TIME)
- round1++
- if(!supress && !cooldown)
- if(prob(1) || forcenexttick)
- round2++
- if(prob(10) || forcenexttick)
- round3++
- if(forcenexttick)
- forcenexttick = 0
-
- for (var/client/C in admin_list)
- C << " The tensioner wishes to create additional antagonists! Press (this) in 60 seconds to abort!"
-
- spawn(600)
- if(!supress)
- cooldown = 1
- spawn(COOLDOWN_TIME)
- cooldown = 0
- round4++
-
- if(!antagonistmodes.len)
- return
-
- var/thegame = null
-
- if(FLAT_PERCENT)
- thegame = pickweight(antagonistmodes)
- antagonistmodes.Remove(thegame)
-
- else
- for(var/V in antagonistmodes) // OH SHIT SOMETHING IS GOING TO HAPPEN NOW
- if(antagonistmodes[V] < score)
- potentialgames.Add(V)
- antagonistmodes.Remove(V)
- if(potentialgames.len)
- thegame = pick(potentialgames)
-
-
- if(thegame)
-
-
- log_admin("The tensioner fired, and decided on [thegame]")
-
- switch(thegame)
- if("POINTS_FOR_TRATIOR")
- if(!makeTratiors())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
- if("POINTS_FOR_CHANGLING")
- if(!makeChanglings())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
- if("POINTS_FOR_REVS")
- if(!makeRevs())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
- if("POINTS_FOR_MALF")
- if(!makeMalfAImode())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
- if("POINTS_FOR_WIZARD")
- if(!makeWizard())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_CULT")
- if(!makeCult())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_NUKETEAM")
- if(!makeNukeTeam())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_ALIEN")
- if(!makeAliens())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_NINJA")
- if(!makeSpaceNinja())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_DEATHSQUAD")
- if(!makeDeathsquad())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
- if("POINTS_FOR_BORG_DEATHSQUAD")
- if(!makeBorgDeathsquad())
- forcenexttick = 1
- else
- potentialgames.Remove(thegame)
-
-
- proc/get_num_players()
- var/peeps = 0
- for (var/mob/M in player_list)
- if (!M.client)
- continue
- peeps += 1
-
- return peeps
-
- proc/death(var/mob/M)
- if (!M) return
- deaths++
-
- if (istype(M,/mob/living/carbon/human))
- score += HUMAN_DEATH
- human_deaths++
- else
- score += OTHER_DEATH
-
-
- proc/explosion()
- score += EXPLO_SCORE
- explosions++
-
- proc/new_adminhelp()
- adminhelps++
-
- proc/new_air_alarm()
- air_alarms++
-
-
- Topic(href, href_list)
-
- if(!usr || !usr.client)
- return //This shouldnt happen
-
- if(!usr.client.holder)
- message_admins("\red [key_name(usr)] tried to use the tensioner without authorization.")
- log_admin("[key_name(usr)] tried to use the tensioner without authorization.")
- return
-
- log_admin("[key_name(usr)] used a tensioner override. The override was [href]")
- message_admins("[key_name(usr)] used a tensioner override. The override was [href]")
-
-
- if(href_list["addScore"])
- score += 50000
-
- if (href_list["makeTratior"])
- makeTratiors()
-
- else if (href_list["makeChanglings"])
- makeChanglings()
-
- else if (href_list["makeRevs"])
- makeRevs()
-
- else if (href_list["makeWizard"])
- makeWizard()
-
- else if (href_list["makeCult"])
- makeCult()
-
- else if (href_list["makeMalf"])
- makeMalfAImode()
-
- else if (href_list["makeNukeTeam"])
- makeNukeTeam()
-
- else if (href_list["makeAliens"])
- makeAliens()
-
- else if (href_list["makeSpaceNinja"])
- makeSpaceNinja()
-
- else if (href_list["makeDeathsquad"])
- makeDeathsquad()
-
- else if (href_list["makeBorgDeathsquad"])
- makeBorgDeathsquad()
-
- else if (href_list["Supress"])
- supress = 1
- eversupressed++
- spawn(6000)
- supress = 0
-
- else if (href_list["ToggleStatus"])
- config.Tensioner_Active = !config.Tensioner_Active
-
-
- proc/makeMalfAImode()
-
- var/list/mob/living/silicon/AIs = list()
- var/mob/living/silicon/malfAI = null
- var/datum/mind/themind = null
-
- for(var/mob/living/silicon/ai/ai in player_list)
- if(ai.client)
- AIs += ai
-
- if(AIs.len)
- malfAI = pick(AIs)
-
- else
- return 0
-
- if(malfAI)
- themind = malfAI.mind
- themind.make_AI_Malf()
- return 1
-
-/*
- if(BE_CHANGELING) roletext="changeling"
- if(BE_TRAITOR) roletext="traitor"
- if(BE_OPERATIVE) roletext="operative"
- if(BE_WIZARD) roletext="wizard"
- if(BE_REV) roletext="revolutionary"
- if(BE_CULTIST) roletext="cultist"
-
-
- for(var/mob/new_player/player in world)
- if(player.client && player.ready)
- if(player.preferences.be_special & role)
-*/
-
-
- proc/makeTratiors()
-
- var/datum/game_mode/traitor/temp = new
-
- if(config.protect_roles_from_antagonist)
- temp.restricted_jobs += temp.protected_jobs
-
- var/list/mob/living/carbon/human/candidates = list()
- var/mob/living/carbon/human/H = null
-
- for(var/mob/living/carbon/human/applicant in player_list)
-
- var/datum/preferences/preferences = new
-
- if(applicant.stat < 2)
- if(applicant.mind)
- if (!applicant.mind.special_role)
- if(!jobban_isbanned(applicant, "traitor") && !jobban_isbanned(applicant, "Syndicate"))
- if(!(applicant.job in temp.restricted_jobs))
- if(applicant.client)
- if(preferences.savefile_load(applicant, 0))
- if(preferences.be_special & BE_TRAITOR)
- candidates += applicant
-
- if(candidates.len)
- var/numTratiors = min(candidates.len, 3)
-
- for(var/i = 0, i300)//If more than 30 game seconds passed.
- return
- candidates += G
- if("No")
- return
-
- sleep(300)
-
- for(var/mob/dead/observer/G in candidates)
- if(!G.client)
- candidates.Remove(G)
-
- spawn(0)
- if(candidates.len)
- while((!theghost || !theghost.client) && candidates.len)
- theghost = pick(candidates)
- candidates.Remove(theghost)
- if(!theghost)
- return 0
- var/mob/living/carbon/human/new_character=makeBody(theghost)
- new_character.mind.make_Wizard()
-
- return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode.
-
-
- proc/makeCult()
-
- var/datum/game_mode/cult/temp = new
- if(config.protect_roles_from_antagonist)
- temp.restricted_jobs += temp.protected_jobs
-
- var/list/mob/living/carbon/human/candidates = list()
- var/mob/living/carbon/human/H = null
-
- for(var/mob/living/carbon/human/applicant in player_list)
-
- var/datum/preferences/preferences = new
-
- if(applicant.stat < 2)
- if(applicant.mind)
- if (!applicant.mind.special_role)
- if(!jobban_isbanned(applicant, "cultist") && !jobban_isbanned(applicant, "Syndicate"))
- if(!(applicant.job in temp.restricted_jobs))
- if(applicant.client)
- if(preferences.savefile_load(applicant, 0))
- if(preferences.be_special & BE_CULTIST)
- candidates += applicant
-
- if(candidates.len)
- var/numCultists = min(candidates.len, 4)
-// var/list/runeWords = list()
-
- for(var/i = 0, i300)//If more than 30 game seconds passed.
- return
- candidates += G
- if("No")
- return
-
- sleep(300)
-
- for(var/mob/dead/observer/G in candidates)
- if(!G.client)
- candidates.Remove(G)
-
- spawn(0)
- if(candidates.len)
- var/numagents = 5
- syndicate_begin()
-
- for(var/i = 0, iAlert: The shuttle is going back!"
-
- var/syndicate_commando_number = syndicate_commandos_possible //for selecting a leader
-
- */
- var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned.
-
- //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos.
-
-
- for(var/mob/dead/observer/G in player_list)
- spawn(0)
- switch(alert(G,"Do you wish to be considered for an elite syndicate strike team being sent in?","Please answer in 30 seconds!","Yes","No"))
- if("Yes")
- if((world.time-time_passed)>300)//If more than 30 game seconds passed.
- return
- candidates += G
- if("No")
- return
- sleep(300)
-
- for(var/mob/dead/observer/G in candidates)
- if(!G.key)
- candidates.Remove(G)
-
- if(candidates.len)
- var/numagents = 6
- //Spawns commandos and equips them.
- for (var/obj/effect/landmark/L in /area/syndicate_mothership/elite_squad)
- if(numagents<=0)
- break
- if (L.name == "Syndicate-Commando")
- syndicate_leader_selected = numagents == 1?1:0
-
- var/mob/living/carbon/human/new_syndicate_commando = create_syndicate_death_commando(L, syndicate_leader_selected)
-
-
- while((!theghost || !theghost.client) && candidates.len)
- theghost = pick(candidates)
- candidates.Remove(theghost)
-
- if(!theghost)
- del(new_syndicate_commando)
- break
-
- new_syndicate_commando.key = theghost.key
- new_syndicate_commando.internal = new_syndicate_commando.s_store
- new_syndicate_commando.internals.icon_state = "internal1"
-
- //So they don't forget their code or mission.
-
-
- new_syndicate_commando << "\blue You are an Elite Syndicate. [!syndicate_leader_selected?"commando":"LEADER"] in the service of the Syndicate. \nYour current mission is: \red [input]"
-
- numagents--
-
- //Spawns the rest of the commando gear.
- // for (var/obj/effect/landmark/L)
- // if (L.name == "Commando_Manual")
- //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc)
- // var/obj/item/weapon/paper/P = new(L.loc)
- // P.info = "Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.
In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.
Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.
The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]
Good luck, soldier!
"
- // P.name = "Spec. Ops. Manual"
-
- for (var/obj/effect/landmark/L in /area/shuttle/syndicate_elite)
- if (L.name == "Syndicate-Commando-Bomb")
- new /obj/effect/spawner/newbomb/timer/syndicate(L.loc)
- // del(L)
-
- return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode.
-
-
- proc/makeBorgDeathsquad()
- var/list/mob/dead/observer/candidates = list()
- var/mob/dead/observer/theghost = null
- var/time_passed = world.time
- var/list/namelist = list("Tyr","Fenrir","Lachesis","Clotho","Atropos","Nyx")
-
- //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos.
-
- for(var/mob/dead/observer/G in player_list)
- spawn(0)
- switch(alert(G,"Do you wish to be considered for a cyborg strike team being sent in?","Please answer in 30 seconds!","Yes","No"))
- if("Yes")
- if((world.time-time_passed)>300)//If more than 30 game seconds passed.
- return
- candidates += G
- if("No")
- return
- sleep(300)
-
- for(var/mob/dead/observer/G in candidates)
- if(!G.client || !G.key)
- candidates.Remove(G)
-
- if(candidates.len)
- var/numagents = 3
-
- //Spawns commandos and equips them.
- for (var/obj/effect/landmark/L in /area/borg_deathsquad)
- if(numagents<=0)
- break
- if (L.name == "Borg-Deathsquad")
-
- var/name = pick(namelist)
- namelist.Remove(name)
-
- var/mob/living/silicon/robot/new_borg_deathsquad = create_borg_death_commando(L, name)
-
-
-
- while((!theghost || !theghost.client) && candidates.len)
- theghost = pick(candidates)
- candidates.Remove(theghost)
-
- if(!theghost)
- del(new_borg_deathsquad)
- break
-
- new_borg_deathsquad.key = theghost.key
-
- //So they don't forget their code or mission.
-
-
- new_borg_deathsquad << "You are a borg deathsquad operative. Follow your laws."
- numagents--
-
- //Spawns the rest of the commando gear.
- // for (var/obj/effect/landmark/L)
- // if (L.name == "Commando_Manual")
- //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc)
- // var/obj/item/weapon/paper/P = new(L.loc)
- // P.info = "Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.
In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.
Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.
The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]
Good luck, soldier!
"
- // P.name = "Spec. Ops. Manual"
-
-
- return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode.
-
-
- proc/makeBody(var/mob/dead/observer/G_found) // Uses stripped down and bastardized code from respawn character
- if(!G_found || !G_found.key) return
-
- //First we spawn a dude.
- var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned.
-
- new_character.gender = pick(MALE,FEMALE)
-
- var/datum/preferences/A = new()
- A.randomize_appearance_for(new_character)
- if(new_character.gender == MALE)
- new_character.real_name = "[pick(first_names_male)] [pick(last_names)]"
- else
- new_character.real_name = "[pick(first_names_female)] [pick(last_names)]"
- new_character.name = new_character.real_name
- new_character.age = rand(17,45)
-
- new_character.dna.ready_dna(new_character)
- new_character.key = G_found.key
-
- return new_character
-
- /proc/create_syndicate_death_commando(obj/spawn_location, syndicate_leader_selected = 0)
- var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc)
- var/syndicate_commando_leader_rank = pick("Lieutenant", "Captain", "Major")
- var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major")
- var/syndicate_commando_name = pick(last_names)
-
- new_syndicate_commando.gender = pick(MALE, FEMALE)
-
- var/datum/preferences/A = new()//Randomize appearance for the commando.
- A.randomize_appearance_for(new_syndicate_commando)
-
- new_syndicate_commando.real_name = "[!syndicate_leader_selected ? syndicate_commando_rank : syndicate_commando_leader_rank] [syndicate_commando_name]"
- new_syndicate_commando.name = new_syndicate_commando.real_name
- new_syndicate_commando.age = !syndicate_leader_selected ? rand(23,35) : rand(35,45)
-
- new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA.
-
- //Creates mind stuff.
- new_syndicate_commando.mind_initialize()
- new_syndicate_commando.mind.assigned_role = "MODE"
- new_syndicate_commando.mind.special_role = "Syndicate Commando"
-
- //Adds them to current traitor list. Which is really the extra antagonist list.
- ticker.mode.traitors += new_syndicate_commando.mind
- new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected)
-
- return new_syndicate_commando
-
-
-
-
-
- /proc/create_borg_death_commando(obj/spawn_location, name)
-
- var/mob/living/silicon/robot/new_borg_deathsquad = new(spawn_location.loc, 1)
-
- new_borg_deathsquad.real_name = name
- new_borg_deathsquad.name = name
-
- //Creates mind stuff.
- new_borg_deathsquad.mind_initialize()
- new_borg_deathsquad.mind.assigned_role = "MODE"
- new_borg_deathsquad.mind.special_role = "Borg Commando"
-
- //Adds them to current traitor list. Which is really the extra antagonist list.
- ticker.mode.traitors += new_borg_deathsquad.mind
- //del(spawn_location) // Commenting this out for multiple commando teams.
- return new_borg_deathsquad
-
-
-
-
-
-/obj/machinery/computer/Borg_station
- name = "Cyborg Station Terminal"
- icon = 'icons/obj/computer.dmi'
- icon_state = "syndishuttle"
- req_access = list()
- var/temp = null
- var/hacked = 0
- var/jumpcomplete = 0
-
-/obj/machinery/computer/Borg_station/attack_hand()
- if(jumpcomplete)
- return
- if(alert(usr, "Are you sure you want to send a cyborg deathsquad?", "Confirmation", "Yes", "No") == "Yes")
- var/area/start_location = locate(/area/borg_deathsquad/start)
- var/area/end_location = locate(/area/borg_deathsquad/station)
-
- var/list/dstturfs = list()
- var/throwy = world.maxy
-
- for(var/turf/T in end_location)
- dstturfs += T
- if(T.y < throwy)
- throwy = T.y
-
- // hey you, get out of the way!
- for(var/turf/T in dstturfs)
- // find the turf to move things to
- var/turf/D = locate(T.x, throwy - 1, 1)
- //var/turf/E = get_step(D, SOUTH)
- for(var/atom/movable/AM as mob|obj in T)
- AM.Move(D)
- if(istype(T, /turf/simulated))
- del(T)
-
- start_location.move_contents_to(end_location)
-
- for(var/obj/machinery/door/poddoor/P in end_location)
- P.open()
- jumpcomplete = 1
- command_alert("DRADIS contact! Set condition one throughout the station!")
diff --git a/code/unused/toilets.dm b/code/unused/toilets.dm
deleted file mode 100644
index f943a1cc548..00000000000
--- a/code/unused/toilets.dm
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-CONTAINS:
-TOILET
-
-/obj/item/weapon/storage/toilet
- name = "toilet"
- w_class = 4.0
- anchored = 1.0
- density = 0.0
- var/status = 0.0
- var/clogged = 0.0
- anchored = 1.0
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "toilet"
- item_state = "syringe_kit"
-
-/obj/item/weapon/storage/toilet/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if (src.contents.len >= 7)
- user << "The toilet is clogged!"
- return
- if (istype(W, /obj/item/weapon/disk/nuclear))
- user << "This is far too important to flush!"
- return
- if (istype(W, /obj/item/weapon/storage/))
- return
- if (istype(W, /obj/item/weapon/grab))
- playsound(src.loc, 'sound/effects/slosh.ogg', 50, 1)
- for(var/mob/O in viewers(user, null))
- O << text("\blue [] gives [] a swirlie!", user, W)
- return
- var/t
- for(var/obj/item/weapon/O in src)
- t += O.w_class
- t += W.w_class
- if (t > 30)
- user << "You cannot fit the item inside."
- return
- user.u_equip(W)
- W.loc = src
- if ((user.client && user.s_active != src))
- user.client.screen -= W
- src.orient2hud(user)
- W.dropped(user)
- add_fingerprint(user)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\blue [] has put [] in []!", user, W, src), 1)
- return
-
-/obj/item/weapon/storage/toilet/MouseDrop_T(mob/M as mob, mob/user as mob)
- if (!ticker)
- user << "You can't help relieve anyone before the game starts."
- return
- if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat))
- return
- if (M == usr)
- for(var/mob/O in viewers(user, null))
- if ((O.client && !( O.blinded )))
- O << text("\blue [] sits on the toilet.", user)
- else
- for(var/mob/O in viewers(user, null))
- if ((O.client && !( O.blinded )))
- O << text("\blue [] is seated on the toilet by []!", M, user)
- M.anchored = 1
- M.buckled = src
- M.loc = src.loc
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/storage/toilet/attack_hand(mob/user as mob)
- for(var/mob/M in src.loc)
- if (M.buckled)
- if (M != user)
- for(var/mob/O in viewers(user, null))
- if ((O.client && !( O.blinded )))
- O << text("\blue [] is zipped up by [].", M, user)
- else
- for(var/mob/O in viewers(user, null))
- if ((O.client && !( O.blinded )))
- O << text("\blue [] zips up.", M)
-// world << "[M] is no longer buckled to [src]"
- M.anchored = 0
- M.buckled = null
- src.add_fingerprint(user)
- if((src.clogged < 1) || (src.contents.len < 7) || (user.loc != src.loc))
- for(var/mob/O in viewers(user, null))
- O << text("\blue [] flushes the toilet.", user)
- src.clogged = 0
- src.contents.len = 0
- else if((src.clogged >= 1) || (src.contents.len >= 7) || (user.buckled != src.loc))
- for(var/mob/O in viewers(user, null))
- O << text("\blue The toilet is clogged!")
- return
-
-
-*/
\ No newline at end of file
diff --git a/code/unused/traps.dm b/code/unused/traps.dm
deleted file mode 100644
index 94681d1929d..00000000000
--- a/code/unused/traps.dm
+++ /dev/null
@@ -1,225 +0,0 @@
-/obj/effect/pressure_plate
- name = "pressure plate"
- desc = "A pressure plate that triggers a trap or a few of them."
- density = 0
- var/list/connected_traps_names = list() //mappers, edit this when you place pressure plates on the map. don't forget to make the connected traps have an UNIQUE name
- var/list/connected_traps = list() //actual references to the connected traps. leave empty, it is generated at runtime from connected_traps_names
- var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types
-
-/obj/effect/pressure_plate/New()
- ..()
- src:visibility = 0
- refresh()
-
-/obj/effect/pressure_plate/verb/refresh()
- set name = "Refresh Pressure Plate Links"
- set category = "Object"
- set src in view()
- connected_traps = list() //emptying the list first
- for(var/trap_name in connected_traps_names)
- for(var/obj/effect/trap/the_trap in world)
- if(the_trap.name == trap_name)
- connected_traps += the_trap //adding the trap with the matching name
-
-/obj/effect/pressure_plate/HasEntered(atom/victim as mob|obj)
- if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))))
- for(var/obj/effect/trap/T in connected_traps)
- T.trigger(victim)
-
-/obj/effect/pressure_plate/Bumped(atom/victim as mob|obj)
- if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))))
- for(var/obj/effect/trap/T in connected_traps)
- T.trigger(victim)
-
-/obj/effect/trap //has three subtypes - /aoe, /area (ie affects an entire area), /single (only the victim is affected)
- name = "trap"
- desc = "It's a trap!"
- density = 0
- var/uses = 1 //how many times it can be triggered
- var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types. can also be "none" to not be triggered by entering its square (needs to have a pressure plate attached in that case)
- var/target_type = "mob" //if it targets mobs, turfs or objs
- var/include_dense = 1 //if it includes dense targets in the aoe (may be important for some reason). you'll probably want to change it to 1 if you target mobs or objs
-
-/obj/effect/trap/New()
- ..()
- src:visibility = 0 //seriously, it keeps saying "undefined var" when I try to do it in the define
-
-/obj/effect/trap/HasEntered(victim as mob|obj)
- if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))
- trigger(victim)
-
-/obj/effect/trap/Bumped(victim as mob|obj)
- if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))
- trigger(victim)
-
-/obj/effect/trap/proc/trigger(victim)
- if(!uses)
- return
- uses--
- activate(victim)
-
-/obj/effect/trap/proc/activate()
-
-/obj/effect/trap/aoe
- name = "aoe trap"
- desc = "This trap affects a number of mobs, turfs or objs in an aoe"
- var/aoe_radius = 3 //radius of aoe
- var/aoe_range_or_view = "view" //if it includes all tiles in [radius] range or view
-
-/obj/effect/trap/aoe/proc/picktargets()
-
- var/list/targets = list()
-
- switch(target_type)
- if("turf")
- switch(aoe_range_or_view)
- if("view")
- for(var/turf/T in view(src,aoe_radius))
- if(!T.density || include_dense)
- targets += T
- if("range")
- for(var/turf/T in range(src,aoe_radius))
- if(!T.density || include_dense)
- targets += T
- if("mob")
- switch(aoe_range_or_view)
- if("view")
- for(var/mob/living/M in view(src,aoe_radius))
- if(!M.density || include_dense)
- targets += M
- if("range")
- for(var/mob/living/M in range(src,aoe_radius))
- if(!M.density || include_dense)
- targets += M
- if("obj")
- switch(aoe_range_or_view)
- if("view")
- for(var/obj/O in view(src,aoe_radius))
- if(!O.density || include_dense)
- targets += O
- if("range")
- for(var/obj/O in range(src,aoe_radius))
- if(!O.density || include_dense)
- targets += O
-
- return targets
-
-/obj/effect/trap/aoe/rocksfall
- name = "rocks fall trap"
- desc = "Your DM must really hate you."
- target_type = "turf"
- include_dense = 0
- var/rocks_amt = 10 //amount of rocks falling
- var/rocks_min_dmg = 50 //min damage per rock
- var/rocks_max_dmg = 100 //max damage per rock
- var/rocks_hit_chance = 100 //the chance for a rock to hit you
- var/list/rocks_type = list() //what rocks might it drop on the target. with var editing, not even limited to rocks.
-
-/obj/effect/trap/aoe/rocksfall/New()
-
- ..()
-
- rocks_type = pick_rock_types()
-
-/obj/effect/trap/aoe/rocksfall/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way
-
- var/list/varieties = list()
-
- varieties = typesof(/obj/item/weapon/ore)
- varieties -= /obj/item/weapon/ore/diamond //don't want easily available rare ores, hmm?
- varieties -= /obj/item/weapon/ore/uranium
- varieties -= /obj/item/weapon/ore/slag //that'd be just stupid
-
- return varieties
-
-/obj/effect/trap/aoe/rocksfall/activate()
-
- var/list/targets = list()
- targets = picktargets()
-
- if(target_type == "turf")
- for(var/i=0,i 0)
- step(src, src.dir)
- sleep(1)
- t1--
- else
- var/t1 = round(src.speed / 5)
- while(t1 > 0)
- step(src, src.dir)
- t1--
- return
-
-/obj/machinery/vehicle/meteorhit(var/obj/O as obj)
- for (var/obj/item/I in src)
- I.loc = src.loc
-
- for (var/mob/M in src)
- M.loc = src.loc
- if (M.client)
- M.client.eye = M.client.mob
- M.client.perspective = MOB_PERSPECTIVE
- del(src)
-
-/obj/machinery/vehicle/ex_act(severity)
- switch (severity)
- if (1.0)
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- //SN src = null
- del(src)
- if(2.0)
- if (prob(50))
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- ex_act(severity)
- //SN src = null
- del(src)
-
-/obj/machinery/vehicle/blob_act()
- for(var/atom/movable/A as mob|obj in src)
- A.loc = src.loc
- del(src)
-
-/obj/machinery/vehicle/Bump(var/atom/A)
- //world << "[src] bumped into [A]"
- spawn (0)
- ..()
- src.speed = 0
- return
- return
-
-/obj/machinery/vehicle/relaymove(mob/user as mob, direction)
- if (user.stat)
- return
-
- if ((user in src))
- if (direction & 1)
- src.speed = max(src.speed - 1, 1)
- else if (direction & 2)
- src.speed = min(src.maximum_speed, src.speed + 1)
- else if (src.can_rotate && direction & 4)
- src.dir = turn(src.dir, -90.0)
- else if (src.can_rotate && direction & 8)
- src.dir = turn(src.dir, 90)
- else if (direction & 16 && src.can_maximize_speed)
- src.speed = src.maximum_speed
-
-/obj/machinery/vehicle/verb/eject()
- set src = usr.loc
-
- if (usr.stat)
- return
-
- var/mob/M = usr
- M.loc = src.loc
- if (M.client)
- M.client.eye = M.client.mob
- M.client.perspective = MOB_PERSPECTIVE
- step(M, turn(src.dir, 180))
- return
-
-/obj/machinery/vehicle/verb/board()
- set src in oview(1)
-
- if (usr.stat)
- return
-
- if (src.one_person_only && locate(/mob, src))
- usr << "There is no room! You can only fit one person."
- return
-
- var/mob/M = usr
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
-
- M.loc = src
-
-/obj/machinery/vehicle/verb/unload(var/atom/movable/A in src)
- set src in oview(1)
-
- if (usr.stat)
- return
-
- if (istype(A, /atom/movable))
- A.loc = src.loc
- for(var/mob/O in view(src, null))
- if ((O.client && !(O.blinded)))
- O << text("\blue [] unloads [] from []!", usr, A, src)
-
- if (ismob(A))
- var/mob/M = A
- if (M.client)
- M.client.perspective = MOB_PERSPECTIVE
- M.client.eye = M
-
-/obj/machinery/vehicle/verb/load()
- set src in oview(1)
-
- if (usr.stat)
- return
-
- if (((istype(usr, /mob/living/carbon/human)) && (!(ticker) || (ticker && ticker.mode != "monkey"))))
- var/mob/living/carbon/human/H = usr
-
- if ((H.pulling && !(H.pulling.anchored)))
- if (src.one_person_only && !(istype(H.pulling, /obj/item/weapon)))
- usr << "You may only place items in."
- else
- H.pulling.loc = src
- if (ismob(H.pulling))
- var/mob/M = H.pulling
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
-
- for(var/mob/O in viewers(src, null))
- if ((O.client && !( O.blinded )))
- O << text("\blue [] loads [] into []!", H, H.pulling, src)
-
- H.stop_pulling()
-
-
-/obj/machinery/vehicle/space_ship
- icon = 'escapepod.dmi'
- icon_state = "pod"
- var/datum/global_iterator/space_ship_inertial_movement/pr_inertial_movement
- var/datum/global_iterator/space_ship_speed_increment/pr_speed_increment
- var/last_relay = 0
- var/obj/machinery/portable_atmospherics/canister/internal_tank
- var/health = 100
- var/datum/effects/system/spark_spread/spark_system = new
-
- New()
- ..()
- internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
- pr_inertial_movement = new /datum/global_iterator/space_ship_inertial_movement(list(src),0)
- pr_speed_increment = new /datum/global_iterator/space_ship_speed_increment(list(src),0)
- src.spark_system.set_up(2, 0, src)
- src.spark_system.attach(src)
- return
-
- proc/inspace()
- if(istype(src.loc, /turf/space))
- return 1
- return 0
-
- remove_air(amount)
- if(src.internal_tank)
- return src.internal_tank.air_contents.remove(amount)
- else
- var/turf/T = get_turf(src)
- return T.remove_air(amount)
-
- return_air()
- if(src.internal_tank)
- return src.internal_tank.return_air()
- return
-
- proc/return_pressure()
- if(src.internal_tank)
- return src.internal_tank.return_pressure()
- return 0
-
- proc/return_temperature()
- if(src.internal_tank)
- return src.internal_tank.return_temperature()
- return 0
-
- Bump(var/atom/movable/A)
- if(istype(A))
- step(A, src.dir)
- else
- if(pr_inertial_movement.cur_delay<2)
- take_damage(25)
- pr_speed_increment.stop()
- pr_inertial_movement.stop()
- return
-
- proc/take_damage(value)
- if(isnum(value))
- src.health -= value
- if(src.health>0)
- src.spark_system.start()
-// world << "[src] health is [health]"
- else
- src.ex_act(1)
- return
-
- process()
- return
-
- proc/get_desired_speed()
- return (pr_inertial_movement.max_delay-pr_inertial_movement.desired_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100
-
- proc/get_current_speed()
- return (pr_inertial_movement.max_delay-pr_inertial_movement.cur_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100
-
-/obj/machinery/vehicle/space_ship/relaymove(mob/user as mob, direction)
- spawn()
- if (user.stat || world.time-last_relay<2)
- return
- last_relay = world.time
- var/speed_change = 0
- if(direction & NORTH)
- pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay-1, pr_inertial_movement.max_delay)
- speed_change = 1
- else if (direction & SOUTH)
- pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay+1, pr_inertial_movement.max_delay)
- speed_change = 1
- else if (src.can_rotate && direction & 4)
- src.dir = turn(src.dir, -90.0)
- else if (src.can_rotate && direction & 8)
- src.dir = turn(src.dir, 90)
- if(speed_change)
-// user << "Desired speed: [get_desired_speed()]%"
- src.pr_speed_increment.start()
- src.pr_inertial_movement.start()
- return
-
-//should try two directional iterator datums, one for vertical, one for horizontal movement.
-/datum/global_iterator/space_ship_inertial_movement
- delay = 1
- var/min_delay = 0
- var/max_delay = 15
- var/desired_delay
- var/cur_delay
- var/last_move
-
- New()
- ..()
- desired_delay = max_delay
- cur_delay = max_delay
-
- stop()
- src.cur_delay = max_delay
- src.desired_delay = max_delay
- return ..()
-
- process(var/obj/machinery/vehicle/space_ship/SS as obj)
- if(cur_delay >= max_delay)
- return src.stop()
- if(world.time - last_move < cur_delay)
- return
- last_move = world.time
-/*
- if(src.delay>=SS.max_delay)
- return src.stop()
-*/
- if(!step(SS, SS.dir) || !SS.inspace())
- src.stop()
- return
-
- proc/set_desired_delay(var/num as num)
- src.desired_delay = num
- return
-
-/datum/global_iterator/space_ship_speed_increment
- delay = 5
-
- process(var/obj/machinery/vehicle/space_ship/SS as obj)
- if(SS.pr_inertial_movement.desired_delay!=SS.pr_inertial_movement.cur_delay)
- var/delta = SS.pr_inertial_movement.desired_delay - SS.pr_inertial_movement.cur_delay
- SS.pr_inertial_movement.cur_delay += delta>0?1:-1
-/*
- for(var/mob/M in SS)
- M << "Current speed: [SS.get_current_speed()]"
-*/
- else
- src.stop()
- return
diff --git a/paradise.dme b/paradise.dme
index d2de60add4c..da523a65690 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -6,17 +6,9 @@
// BEGIN_FILE_DIR
#define FILE_DIR .
#define FILE_DIR "code"
-#define FILE_DIR "code/TriDimension"
-#define FILE_DIR "code/unused"
-#define FILE_DIR "code/unused/goonheist"
-#define FILE_DIR "code/WorkInProgress"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
-#define FILE_DIR "code/WorkInProgress/IndexLP"
-#define FILE_DIR "code/WorkInProgress/Susan"
+#define FILE_DIR "code/modules"
+#define FILE_DIR "code/modules/jungle"
+#define FILE_DIR "code/modules/shieldgen"
#define FILE_DIR "html"
#define FILE_DIR "html/images"
#define FILE_DIR "icons"
@@ -185,13 +177,16 @@
#include "code\controllers\voting.dm"
#include "code\datums\ai_laws.dm"
#include "code\datums\browser.dm"
+#include "code\datums\cargoprofile.dm"
#include "code\datums\computerfiles.dm"
#include "code\datums\datacore.dm"
#include "code\datums\datumvars.dm"
+#include "code\datums\medical_effects.dm"
#include "code\datums\mind.dm"
#include "code\datums\mixed.dm"
#include "code\datums\modules.dm"
#include "code\datums\organs.dm"
+#include "code\datums\periodic_news.dm"
#include "code\datums\recipe.dm"
#include "code\datums\spell.dm"
#include "code\datums\sun.dm"
@@ -402,6 +397,7 @@
#include "code\game\machinery\flasher.dm"
#include "code\game\machinery\floodlight.dm"
#include "code\game\machinery\Freezer.dm"
+#include "code\game\machinery\guestpass.dm"
#include "code\game\machinery\hologram.dm"
#include "code\game\machinery\holosign.dm"
#include "code\game\machinery\hydroponics.dm"
@@ -418,6 +414,7 @@
#include "code\game\machinery\overview.dm"
#include "code\game\machinery\PDApainter.dm"
#include "code\game\machinery\portable_turret.dm"
+#include "code\game\machinery\programmable_unloader.dm"
#include "code\game\machinery\recharger.dm"
#include "code\game\machinery\rechargestation.dm"
#include "code\game\machinery\recycler.dm"
@@ -435,6 +432,7 @@
#include "code\game\machinery\syndicatebomb.dm"
#include "code\game\machinery\teleporter.dm"
#include "code\game\machinery\transformer.dm"
+#include "code\game\machinery\turntable.dm"
#include "code\game\machinery\turrets.dm"
#include "code\game\machinery\vending.dm"
#include "code\game\machinery\washing_machine.dm"
@@ -462,6 +460,7 @@
#include "code\game\machinery\computer\aifixer.dm"
#include "code\game\machinery\computer\arcade.dm"
#include "code\game\machinery\computer\atmos_alert.dm"
+#include "code\game\machinery\computer\atmos_control.dm"
#include "code\game\machinery\computer\buildandrepair.dm"
#include "code\game\machinery\computer\camera.dm"
#include "code\game\machinery\computer\card.dm"
@@ -565,6 +564,7 @@
#include "code\game\objects\effects\anomalies.dm"
#include "code\game\objects\effects\bump_teleporter.dm"
#include "code\game\objects\effects\effect_system.dm"
+#include "code\game\objects\effects\explosion_particles.dm"
#include "code\game\objects\effects\forcefields.dm"
#include "code\game\objects\effects\gibs.dm"
#include "code\game\objects\effects\glowshroom.dm"
@@ -593,17 +593,22 @@
#include "code\game\objects\effects\spawners\gibspawner.dm"
#include "code\game\objects\effects\spawners\vaultspawner.dm"
#include "code\game\objects\items\apc_frame.dm"
+#include "code\game\objects\items\ashtray.dm"
#include "code\game\objects\items\blueprints.dm"
#include "code\game\objects\items\bodybag.dm"
#include "code\game\objects\items\candle.dm"
+#include "code\game\objects\items\changestone.dm"
#include "code\game\objects\items\contraband.dm"
#include "code\game\objects\items\crayons.dm"
#include "code\game\objects\items\flag.dm"
#include "code\game\objects\items\latexballoon.dm"
+#include "code\game\objects\items\policetape.dm"
+#include "code\game\objects\items\random_items.dm"
#include "code\game\objects\items\shooting_range.dm"
#include "code\game\objects\items\toys.dm"
#include "code\game\objects\items\trash.dm"
#include "code\game\objects\items\devices\aicard.dm"
+#include "code\game\objects\items\devices\autopsy.dm"
#include "code\game\objects\items\devices\chameleonproj.dm"
#include "code\game\objects\items\devices\debugger.dm"
#include "code\game\objects\items\devices\flash.dm"
@@ -665,8 +670,10 @@
#include "code\game\objects\items\weapons\dnascrambler.dm"
#include "code\game\objects\items\weapons\explosives.dm"
#include "code\game\objects\items\weapons\extinguisher.dm"
+#include "code\game\objects\items\weapons\fireworks.dm"
#include "code\game\objects\items\weapons\flamethrower.dm"
#include "code\game\objects\items\weapons\gift_wrappaper.dm"
+#include "code\game\objects\items\weapons\grenades.dm"
#include "code\game\objects\items\weapons\handcuffs.dm"
#include "code\game\objects\items\weapons\hydroponics.dm"
#include "code\game\objects\items\weapons\kitchen.dm"
@@ -834,6 +841,7 @@
#include "code\modules\admin\admin_verbs.dm"
#include "code\modules\admin\banappearance.dm"
#include "code\modules\admin\banjob.dm"
+#include "code\modules\admin\buildmode.dm"
#include "code\modules\admin\create_mob.dm"
#include "code\modules\admin\create_object.dm"
#include "code\modules\admin\create_turf.dm"
@@ -961,6 +969,36 @@
#include "code\modules\clothing\under\jobs\engineering.dm"
#include "code\modules\clothing\under\jobs\medsci.dm"
#include "code\modules\clothing\under\jobs\security.dm"
+#include "code\modules\computer3\bios.dm"
+#include "code\modules\computer3\buildandrepair.dm"
+#include "code\modules\computer3\component.dm"
+#include "code\modules\computer3\computer.dm"
+#include "code\modules\computer3\computer3_notes.dm"
+#include "code\modules\computer3\file.dm"
+#include "code\modules\computer3\laptop.dm"
+#include "code\modules\computer3\lapvend.dm"
+#include "code\modules\computer3\networking.dm"
+#include "code\modules\computer3\NTOS.dm"
+#include "code\modules\computer3\program.dm"
+#include "code\modules\computer3\program_disks.dm"
+#include "code\modules\computer3\server.dm"
+#include "code\modules\computer3\storage.dm"
+#include "code\modules\computer3\computers\arcade.dm"
+#include "code\modules\computer3\computers\atmos_alert.dm"
+#include "code\modules\computer3\computers\camera.dm"
+#include "code\modules\computer3\computers\card.dm"
+#include "code\modules\computer3\computers\communications.dm"
+#include "code\modules\computer3\computers\crew.dm"
+#include "code\modules\computer3\computers\customs.dm"
+#include "code\modules\computer3\computers\HolodeckControl.dm"
+#include "code\modules\computer3\computers\law.dm"
+#include "code\modules\computer3\computers\medical.dm"
+#include "code\modules\computer3\computers\Operating.dm"
+#include "code\modules\computer3\computers\power.dm"
+#include "code\modules\computer3\computers\prisoner.dm"
+#include "code\modules\computer3\computers\robot.dm"
+#include "code\modules\computer3\computers\security.dm"
+#include "code\modules\computer3\computers\welcome.dm"
#include "code\modules\customitems\item_defines.dm"
#include "code\modules\customitems\item_spawning.dm"
#include "code\modules\customitems\definitions\base.dm"
@@ -1042,6 +1080,14 @@
#include "code\modules\hydroponics\seed_mobs.dm"
#include "code\modules\hydroponics\seeds.dm"
#include "code\modules\hydroponics\vines.dm"
+#include "code\modules\jungle\falsewall.dm"
+#include "code\modules\jungle\jungle.dm"
+#include "code\modules\jungle\jungle_animals.dm"
+#include "code\modules\jungle\jungle_plants.dm"
+#include "code\modules\jungle\jungle_temple.dm"
+#include "code\modules\jungle\jungle_tribe.dm"
+#include "code\modules\jungle\jungle_turfs.dm"
+#include "code\modules\jungle\misc_helpers.dm"
#include "code\modules\karma\karma.dm"
#include "code\modules\library\lib_items.dm"
#include "code\modules\library\lib_machines.dm"
@@ -1252,6 +1298,7 @@
#include "code\modules\mob\living\simple_animal\constructs.dm"
#include "code\modules\mob\living\simple_animal\corpse.dm"
#include "code\modules\mob\living\simple_animal\parrot.dm"
+#include "code\modules\mob\living\simple_animal\pony.dm"
#include "code\modules\mob\living\simple_animal\powers.dm"
#include "code\modules\mob\living\simple_animal\shade.dm"
#include "code\modules\mob\living\simple_animal\simple_animal.dm"
@@ -1549,6 +1596,11 @@
#include "code\modules\scripting\Scanner\Tokens.dm"
#include "code\modules\security levels\keycard authentication.dm"
#include "code\modules\security levels\security levels.dm"
+#include "code\modules\shieldgen\circuits_and_designs.dm"
+#include "code\modules\shieldgen\energy_field.dm"
+#include "code\modules\shieldgen\shield_capacitor.dm"
+#include "code\modules\shieldgen\shield_gen.dm"
+#include "code\modules\shieldgen\shield_gen_external.dm"
#include "code\modules\shuttles\antagonist.dm"
#include "code\modules\shuttles\departmental.dm"
#include "code\modules\shuttles\escape_pods.dm"
@@ -1593,73 +1645,6 @@
#include "code\modules\virus2\helpers.dm"
#include "code\modules\virus2\isolator.dm"
#include "code\modules\virus2\items_devices.dm"
-#include "code\WorkInProgress\autopsy.dm"
-#include "code\WorkInProgress\buildmode.dm"
-#include "code\WorkInProgress\explosion_particles.dm"
-#include "code\WorkInProgress\fireworks.dm"
-#include "code\WorkInProgress\periodic_news.dm"
-#include "code\WorkInProgress\Apples\artifacts.dm"
-#include "code\WorkInProgress\Cael_Aislinn\sculpture.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\falsewall.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_temple.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_turfs.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Jungle\misc_helpers.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm"
-#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\circuits_and_designs.dm"
-#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\energy_field.dm"
-#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_capacitor.dm"
-#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen.dm"
-#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen_external.dm"
-#include "code\WorkInProgress\Chinsky\ashtray.dm"
-#include "code\WorkInProgress\Chinsky\guestpass.dm"
-#include "code\WorkInProgress\Cib\MedicalSideEffects.dm"
-#include "code\WorkInProgress\computer3\bios.dm"
-#include "code\WorkInProgress\computer3\buildandrepair.dm"
-#include "code\WorkInProgress\computer3\component.dm"
-#include "code\WorkInProgress\computer3\computer.dm"
-#include "code\WorkInProgress\computer3\computer3_notes.dm"
-#include "code\WorkInProgress\computer3\file.dm"
-#include "code\WorkInProgress\computer3\laptop.dm"
-#include "code\WorkInProgress\computer3\lapvend.dm"
-#include "code\WorkInProgress\computer3\networking.dm"
-#include "code\WorkInProgress\computer3\NTOS.dm"
-#include "code\WorkInProgress\computer3\program.dm"
-#include "code\WorkInProgress\computer3\program_disks.dm"
-#include "code\WorkInProgress\computer3\server.dm"
-#include "code\WorkInProgress\computer3\storage.dm"
-#include "code\WorkInProgress\computer3\computers\arcade.dm"
-#include "code\WorkInProgress\computer3\computers\atmos_alert.dm"
-#include "code\WorkInProgress\computer3\computers\camera.dm"
-#include "code\WorkInProgress\computer3\computers\card.dm"
-#include "code\WorkInProgress\computer3\computers\communications.dm"
-#include "code\WorkInProgress\computer3\computers\crew.dm"
-#include "code\WorkInProgress\computer3\computers\customs.dm"
-#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm"
-#include "code\WorkInProgress\computer3\computers\law.dm"
-#include "code\WorkInProgress\computer3\computers\medical.dm"
-#include "code\WorkInProgress\computer3\computers\Operating.dm"
-#include "code\WorkInProgress\computer3\computers\power.dm"
-#include "code\WorkInProgress\computer3\computers\prisoner.dm"
-#include "code\WorkInProgress\computer3\computers\robot.dm"
-#include "code\WorkInProgress\computer3\computers\security.dm"
-#include "code\WorkInProgress\computer3\computers\welcome.dm"
-#include "code\WorkInProgress\Mini\atmos_control.dm"
-#include "code\WorkInProgress\Ported\policetape.dm"
-#include "code\WorkInProgress\Sayu\belt.dm"
-#include "code\WorkInProgress\Sayu\cargoprofile.dm"
-#include "code\WorkInProgress\Sayu\grenades.dm"
-#include "code\WorkInProgress\Sayu\programmable.dm"
-#include "code\WorkInProgress\Sayu\random_items.dm"
-#include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm"
-#include "code\WorkInProgress\ZomgPonies\clothing\civilian.dm"
-#include "code\WorkInProgress\ZomgPonies\mobs\pony.dm"
-#include "code\WorkInProgress\ZomgPonies\oldcode\turntable.dm"
-#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmor.dm"
-#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmorcomponents.dm"
#include "code\ZAS\_docs.dm"
#include "code\ZAS\_gas_mixture.dm"
#include "code\ZAS\Airflow.dm"